Menu
CoddyTech

プレイヤーだけ

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

エリアは、入ってくるすべてのボディを検知します。多くの場合、ヒーローが来たときだけ開くドアのように、対象は1つだけにするべきです。

ifを使って、それが誰なのかを確認します。

func _on_body_entered(body):
	if body.name == "Player":
		print("Hello, player")

==は、2つの値が等しいかどうかを調べます。ifの下にある、タブ1つ分字下げされた行は、値が等しい場合にのみ実行されます。名前は完全に一致していなければなりません。小文字のpを使った"player"は、別の名前です。

ここでは、まずローバーが圧力板の上を通り、その後あなたがその上を歩きます。

challenge icon

チャレンジ

簡単

プレートがプレイヤーにだけ反応するようにしましょう。

  1. _on_body_entered(body)内で、modulateの行をifの中に入れましょう。
  2. ==を使って、ifでbody.nameが"Player"かどうかを確認しましょう。

「プレイ」を押すと、ローバーの場合はプレートの色がそのまま保たれ、プレイヤーが踏むとミント色に変わります。その後、「確認」を押しましょう。

自分で試してみよう

extends Area2D

func _ready():
	body_entered.connect(_on_body_entered)

func _on_body_entered(body):
	modulate = Color(0.49, 0.95, 0.75)

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

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