プレイヤーだけ
CoddyのGodotジャーニー「シグナルと衝突」セクションの一部。レッスン 4/27。
エリアは、入ってくるすべてのボディを検知します。多くの場合、数えるべきなのは1つだけです。たとえば、ヒーローだけが開けられるドアのようなものです。
ifを使って、それが誰なのかを確認します。
func _on_body_entered(body):
if body.name == "Player":
print("Hello, player")==は、2つの値が等しいかどうかを調べます。ifの下にある、タブ1つ分深くインデントされた行は、等しい場合にだけ実行されます。名前は完全に一致しなければなりません。小文字のpを使った"player"は別の名前です。
ここでは、まずローバーがプレッシャープレートの上を通り、その後、あなたがその上を歩きます。
チャレンジ
簡単プレートはどのボディに対してもミント色に変わります。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プレイグラウンド