Menu
CoddyTech

未処理の入力

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です。

challenge icon

チャレンジ

簡単

キーで主人公のランプを点灯・消灯させましょう。

  1. _unhandled_input(event)内に、event.is_action_pressed("action")を条件とするifを追加します。
  2. その中で、$Lamp.visibleを現在の値と反対に設定します。

「プレイ」を押してEキーを押します。ランプが点灯し、もう一度押すと消灯します。その後、「確認」を押します。

自分で試してみよう

extends Node2D

func _unhandled_input(event):
	pass
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

入力と移動のすべてのレッスン

自分で練習してみよう: Godotプレイグラウンド