Menu
CoddyTech

別のノードのシグナル

CoddyのGodotジャーニー「シグナルと衝突」セクションの一部。レッスン 9/27。

スクリプトは別のノードのシグナルを受け取ることもできます。$でノードを取得し、そのシグナルを接続します。

$Switch.body_entered.connect(_on_switch_body_entered)

これは、Switchがbody_enteredを送信したときに、_on_switch_body_enteredを呼び出すという意味です。この関数はこのスクリプト内にあるので、$Lightのように、このスクリプトのノードを使えます。

ゲームでは、このように接続することがよくあります。1つのメインスクリプトがスイッチ、ライト、ドアを接続し、それぞれのノードはシンプルなままにします。Godotでは、このような関数の名前は_on_、ノード名、シグナル名の順になります。

challenge icon

チャレンジ

簡単

Mainにはライトを点灯させる関数がありますが、何もそれを呼び出していません。Mainの_ready()で、Switchのbody_enteredを_on_switch_body_enteredに接続します。その後、緑色のスイッチを踏んでください。

自分で試してみよう

extends Node2D

func _ready():
	pass

func _on_switch_body_entered(body):
	$Light.visible = true
quiz icon腕試し

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

シグナルと衝突のすべてのレッスン

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