Nur der Spieler
Teil des Abschnitts Signale und Kollisionen der Godot-Journey von Coddy. Lektion 4 von 27.
Ein Bereich bemerkt jeden Körper, der hineinkommt. Oft soll nur einer zählen, etwa bei einer Tür, die sich nur für den Helden öffnet.
Verwende if, um zu prüfen, um wen es sich handelt:
func _on_body_entered(body):
if body.name == "Player":
print("Hello, player")== fragt, ob zwei Werte gleich sind. Die Zeilen unter if, eine Tabulatorstufe weiter eingerückt, werden nur ausgeführt, wenn das der Fall ist. Namen müssen exakt übereinstimmen. "player" mit kleinem p ist ein anderer Name.
Hier fährt zuerst der Rover über eine Druckplatte, dann gehst du darauf.
Aufgabe
EinfachLass die Platte nur auf den Spieler reagieren.
- Setze in
_on_body_entered(body)die Zeilemodulatein einif. - Lass
ifmit==prüfen, obbody.name"Player"ist.
Drücke „Spielen“: Die Platte behält ihre Farbe, wenn der Rover darauf fährt, und wird mintgrün, wenn du auf sie trittst. Drücke dann „Prüfen“.
Probier es selbst
extends Area2D
func _ready():
body_entered.connect(_on_body_entered)
func _on_body_entered(body):
modulate = Color(0.49, 0.95, 0.75)
Alle Lektionen in Signale und Kollisionen
Übe selbstständig: Godot-Playground