次にキャラクターをキーボードを使って動かしてみましょう。
# 各フレームごとに繰り返し実行される関数
func _process(delta):
# 移動方向・速度をゼロでクリア
var velocity = Vector2.ZERO
# Input.is_action_pressed 関数でキーを押しているかチェック出来る
if Input.is_action_pressed("right"):
velocity.x = 1
if Input.is_action_pressed("left"):
velocity.x = -1
if Input.is_action_pressed("down"):
velocity.y = 1
if Input.is_action_pressed("up"):
velocity.y = -1
# 方向をnormalized 関数で正規化してからspeedをかけると指定した方向に speed(ピクセル/秒)の速さで動く
velocity = velocity.normalized()*speed
# 位置を更新する
# deltaは前フレームからの経過時間(秒)
# deltaを速さにかけることでFPSの影響を受けずに移動距離を一定にできる(距離=速さx時間)
position += velocity*delta
# 画面外に出ないようにクランプする
position = position.clamp(Vector2.ZERO, screen_size)