Godot > 画像表示・上下左右キー移動
キー押下イベントを処理して 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