Menu
CoddyTech

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.

challenge icon

Aufgabe

Einfach

Lass die Platte nur auf den Spieler reagieren.

  1. Setze in _on_body_entered(body) die Zeile modulate in ein if.
  2. Lass if mit == prüfen, ob body.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