Menu
CoddyTech

グループ内にある?

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

body.nameを確認すれば、1つのノードに対しては機能します。複数のノードを対象にする場合は、グループを確認します。

if body.is_in_group("racers"):
	print(body.name, " finished!")

is_in_group()はtrueまたはfalseを返します。ノードが1つだけの場合でも使いましょう。ノードの名前は、名前を変更したりコピーしたりすると変わります。グループを使えば、そのノードが何であるかを示せます。

3体のロボットがゴールラインに向かって走ります。RedとBlueは、シーンで設定されたracersグループに属しています。Botはコースを掃除し、どのグループにも属していません。

challenge icon

チャレンジ

簡単

ゴールラインがレーサーに対してのみ表示するようにします。

  1. _on_body_entered(body)の中で、printをifの中に入れます。
  2. ifでbody.is_in_group("racers")を確認するようにします。

「プレイ」を押します。コンソールにRed finished!とBlue finished!が表示され、Botは表示されません。その後、「確認」を押します。

自分で試してみよう

extends Area2D

func _ready():
	body_entered.connect(_on_body_entered)

func _on_body_entered(body):
	print(body.name, " finished!")

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

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