Bereiche erkennen Körper
Teil des Abschnitts Signale und Kollisionen der Godot-Journey von Coddy. Lektion 1 von 27.
Ein Area2D ist eine Zone, die bemerkt, was hineingeht.
Ein Area2D benötigt ein untergeordnetes CollisionShape2D. Die Form legt die Größe der Zone fest, hier den grünen Kasten. Körper gehen durch eine Zone hindurch. Sie stoßen nicht mit ihr zusammen.
Wenn ein Körper hineingeht, sendet die Zone ein Signal namens body_entered. Das Skript dieser Zone lauscht darauf:
extends Area2D
func _ready():
body_entered.connect(_on_body_entered)
func _on_body_entered(body):
print("Welcome to the zone!")_on_body_entered wird jedes Mal ausgeführt, wenn ein Körper in die Form hineingeht. In der nächsten Lektion wird die Zeile mit connect erklärt. Der Roboter ist ein Körper, aber er bewegt sich entlang y = 250, unterhalb der Zone.
Aufgabe
EinfachPlatziere die Zone auf dem Weg des Roboters.
- Der Roboter läuft entlang
y = 250. Setze in_ready()dieposition.yder Zone auf250. - Lass die Zeile
connectunverändert.
Drücke „Spielen“: Wenn der Roboter hineingeht, zeigt die Konsole Welcome to the zone! an. Drücke dann „Prüfen“.
Probier es selbst
extends Area2D
func _ready():
body_entered.connect(_on_body_entered)
func _on_body_entered(body):
print("Welcome to the zone!")
Alle Lektionen in Signale und Kollisionen
Übe selbstständig: Godot-Playground