両軸を制限する
CoddyのGodotジャーニー「入力と移動」セクションの一部。レッスン 22/28。
見下ろし型のヒーローは、画面の四辺から外に出てしまうことがあります。Vector2には、両方の数値を範囲内に保つ独自のclampがあります。
position = position.clamp(Vector2(16, 16), Vector2(624, 344))最初のベクトルは左上の角です。2番目のベクトルは右下の角です。positionの各数値は、対応する2つの角の数値の間に保たれます。
ヒーローは直径約32ピクセルの円です。そのため、中心は640×360ピクセルの画面の各端から16ピクセル離れた位置に保たれます。
チャレンジ
簡単ヒーローが画面の四辺からはみ出さないようにします。move_and_slide()の後に、positionをVector2(16, 16)とVector2(624, 344)の間に制限します。
自分で試してみよう
extends CharacterBody2D
var speed = 200
func _physics_process(delta):
velocity = Input.get_vector("move_left", "move_right", "move_up", "move_down") * speed
move_and_slide()
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
入力と移動のすべてのレッスン
自分で練習してみよう: Godotプレイグラウンド