未処理の入力
CoddyのGodotジャーニー「入力と移動」セクションの一部。レッスン 6/28。
Godotはキーについても知らせてくれます。キーを押すことも、離すことも、それぞれイベントです。Godotはすべてのイベントを_unhandled_inputという関数に送ります。
func _unhandled_input(event):
if event.is_action_pressed("action"):
print("Action!")この関数はイベントごとに1回実行され、毎フレーム実行されるわけではありません。イベントがactionキーを押したときのものであれば、event.is_action_pressed("action")はtrueになります。キーを離したときはfalseになります。
notはtrueをfalseに、またその逆に切り替えます。この行はノードのオンとオフを切り替えます。
$Lamp.visible = not $Lamp.visibleヒーローのアンテナには、隠されたLampがあります。actionキーはEとEnterです。
チャレンジ
簡単キーで主人公のランプを点灯・消灯させましょう。
_unhandled_input(event)内に、event.is_action_pressed("action")を条件とするifを追加します。- その中で、
$Lamp.visibleを現在の値と反対に設定します。
「プレイ」を押してEキーを押します。ランプが点灯し、もう一度押すと消灯します。その後、「確認」を押します。
自分で試してみよう
extends Node2D
func _unhandled_input(event):
pass
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
入力と移動のすべてのレッスン
自分で練習してみよう: Godotプレイグラウンド