Godot > 画像表示・上下左右キー移動

Sprite 表示

矢印キーによる Sprite 移動

キー押下イベントを処理して Sprite 移動を行ってもいいのだが、それだと処理間隔がキーリピート間隔に依存してしまいぎこちなくなってしまう。 各フレームの時にコールされる _physics_process(delta) をオーバライドし、 その中でキーが押されているかどうかをチェックする方が画像をスムーズに移動させることができる。

const MOVE_UNIT = 4
func _physics_process(delta):
    var dx = int(Input.is_action_pressed("ui_right")) - int(Input.is_action_pressed("ui_left"))
    var dy = int(Input.is_action_pressed("ui_down")) - int(Input.is_action_pressed("ui_up"))
    if dx != 0 || dy != 0:
        $Sprite.position += Vector2(dx, dy) * MOVE_UNIT

まとめ