記事

Article

コードから、2Dのカメラ(Camera2D)の中心を画面の中心にする。

: Godot4
投稿日:
更新日:

2Dで座標を左上がx=0, y=0で、x軸は右にプラス、y軸は左にプラス、で扱っていきたい。初期状態は座標のx=0, y=0が中心で扱いづらいのでシーン読み込み時に真ん中に寄せる。

ノードの構成は下記の図の形。Sprite2Dは画面でどこを映しているかを確認できるように入れている。

スクリプトはこの例だとlevel1_2Dに当てている。このスクリプトにカメラを中心に寄せる処理を_readyに書く。

extends Node2D

func _ready():
	var screen_rect = get_viewport_rect()
	var size_w = screen_rect.size.x
	var size_h = screen_rect.size.y
	$Camera2D.position.x = size_w/2.0
	$Camera2D.position.y = size_h/2.0

get_viewport_rect() からRectを取り、さらにそこからSizeを取りアクティブなカメラのポジションに代入する。

以上。