誰が入ってきた?
CoddyのGodotジャーニー「シグナルと衝突」セクションの一部。レッスン 3/27。
Areaは、入ってきたbodyを関数に渡します。それが_on_body_entered(body)のbodyです。これはノードそのものなので、そのノードにある情報を何でも読み取れます。
body.nameは、入ってきたbodyの名前です。
func _on_body_entered(body):
print(body.name)単なるnameはゾーン自体の名前です。スクリプトがゾーンに付いているためです。
このゾーンを横切るbodyは2つあります。あなたであるPlayerと、自分で転がって通り抜ける琥珀色のRoverです。
チャレンジ
簡単ゾーンに誰が入ったかを表示させましょう。
_on_body_entered(body)で、print()を変更し、2つの値を表示します。body.nameと" entered the zone"です。- それらの間にカンマを入れます。
「プレイ」を押すと、歩いて入ったときにコンソールにRover entered the zone、続いてPlayer entered the zoneと表示されます。その後、「確認」を押します。
自分で試してみよう
extends Area2D
func _ready():
body_entered.connect(_on_body_entered)
func _on_body_entered(body):
print("Something entered the zone")
シグナルと衝突のすべてのレッスン
自分で練習してみよう: Godotプレイグラウンド