エリアから出る
CoddyのGodotジャーニー「シグナルと衝突」セクションの一部。レッスン 5/27。
エリアでは、物体が出ると2つ目のシグナルが送られます: body_exited。その関数にも物体が渡されます。
それぞれのシグナルを別々の行で、それぞれ専用の関数に接続します:
func _ready():
body_entered.connect(_on_body_entered)
body_exited.connect(_on_body_exited)
func _on_body_exited(body):
print(body.name, " left")両方のシグナルを使うと、body_enteredからbody_exitedまで、誰かが中にいるタイミングがわかります。
チャレンジ
簡単部屋から出たときにランプが消えるようにしましょう。
$Lampを非表示にする関数_on_body_exited(body)を書きましょう。_ready()で、body_exitedをその関数に接続しましょう。
「プレイ」を押して、中に入ってから再び外に出ましょう。ランプが点灯してから消えます。その後、「確認」を押しましょう。
自分で試してみよう
extends Area2D
func _ready():
body_entered.connect(_on_body_entered)
func _on_body_entered(body):
$Lamp.visible = true
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
シグナルと衝突のすべてのレッスン
自分で練習してみよう: Godotプレイグラウンド