Godot InputEvent

Node._input(event)はオーバーライドできるメソッドで、入力があるたびに常に呼び出される。実際に使うにはこれのGUIイベントを取得しない亜種の方が適している。

InputEventは入力と発行するイベントを管理するクラス。

Inputは入力を感知するシングルトン。

キーボードはこう。これで十分だろう。

 1 extends Node
 2 
 3 func _process(delta: float) -> void:
 4     if Input.is_action_pressed("ui_left"):
 5         print("left\n")
 6     
 7     if Input.is_action_pressed("ui_right"):
 8         print("right\n")
 9     
10     if Input.is_action_pressed("ui_up"):
11         print("up\n")
12     
13     if Input.is_action_pressed("ui_down"):
14         print("down\n")
15 
16     if Input.is_action_just_pressed("ui_left"):
17         print("just left\n")
18         
19     if Input.is_action_just_pressed("ui_right"):
20         print("just right\n")
21         
22     if Input.is_action_just_pressed("ui_up"):
23         print("just up\n")
24     
25     if Input.is_action_just_pressed("ui_down"):
26         print("just down\n")
27     
28 func _ready() -> void:
29     var x = InputMap.get_actions()
30     for i in x:
31         print(i)

マウス入力。

1 func _input(event: InputEvent) -> void:
2     var v = get_viewport();
3     if event is InputEventMouseButton:
4         print("mouse click/unclick: %s", v.get_mouse_position())
5     
6     if event is InputEventMouseMotion: