Godotの_unhandled_input関数ってなに?
作成日
更新日
#ChatGPTより引用
概要
_unhandled_input(event)
は、Godot エンジンで「他のノードによって処理されなかった入力イベント」を処理するための特別な関数である。主にグローバルなUI制御(ポーズ画面など)に使われる。
詳細解説
- Godot の入力イベントは「ツリー構造を下から上へ伝播」していく。
- 最初に子ノードに送られ、処理されないと親ノードに伝わる。
_unhandled_input(event)
は、「どのノードにも処理されなかった入力」が届く。- この関数を使うことで、ゲーム全体のどこにも結びついていない入力(例えばポーズキー)を拾うことができる。
使用例
func _unhandled_input(event):
if event.is_action_pressed("pause"):
add_child(PauseMenuScene.instantiate())
get_tree().root.set_input_as_handled()
"pause"
アクションが押されたら、ポーズメニューを表示。set_input_as_handled()
により、入力がそれ以上ツリーを伝播しないように制御。
注意点
_unhandled_input
は UI 系のイベントやメニュー制御に最適。set_input_as_handled()
を忘れると、他のノードでも入力イベントが発火してしまう可能性がある。_input(event)
との違いに注意:_input
は「すべての入力イベント」を受け取る。_unhandled_input
は「まだ処理されていない入力」だけを受け取る。

公開日
更新日