_input(event)
_input(event)
godotのNodeオブジェクトに予め定義されている仮想メソッド
オーバーライドして使う
_ready()
_process()
_physics_process()
と同様に、あるタイミングで呼び出される。
それは、入力アクションが起きた瞬間である
Event vs Polling
Event : コールバックなどを登録しておいて、発生したら実行
Polling : 入力されているかを毎フレーム確認しに行って、trueなら実行
入力イベントをprintしてみる
code: input.py
extends Node
func _input(event):
print(event.as_text())
イベントタイプで分別
code: input.py
func _input(event):
if event is InputEventMouseButton:
print("mouse button event at ", event.position)
_input(event)に渡される引数は、InputEvent*** のクラスを継承している。
isキーワードで、継承元クラスを判別して場合分け
(mouseEventにはpositionがあるが、キーにはないのでわけないとエラー)
どんなメソッドを使えるか
eventif matchで場合分けして使ってもいいが、
is_just_action_released()
is_just_action_pressed()
こういった、入力の瞬間しか判断する必要のないメソッドも使いやすい