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: