Bereiche treffen auf Bereiche
Teil des Abschnitts Signale und Kollisionen der Godot-Journey von Coddy. Lektion 6 von 27.
Godots Nodes verfügen über integrierte Signale. Ein Area2D hat vier, die du häufig verwenden wirst:
body_enteredundbody_exited: Ein Körper ist eingetreten oder hat den Bereich verlassen. Körper sind feste Dinge wieCharacterBody2DundStaticBody2D.area_enteredundarea_exited: Ein anderer Bereich ist eingetreten oder hat den Bereich verlassen.
Ein Bereich sendet niemals body_entered für einen anderen Bereich. Die fallenden Sterne sind Bereiche, daher benötigt der Korb area_entered:
func _ready():
area_entered.connect(_on_star_caught)Die Funktion erhält den Bereich, der eingetreten ist, und nimmt daher einen Wert entgegen, etwa _on_body_entered(body). Du kannst ihn beliebig benennen.
Aufgabe
EinfachZwei Sterne fallen in den Korb, aber die Konsole bleibt leer. Der Korb lauscht auf das falsche Signal. Lass ihn für jeden Stern Caught a star! ausgeben.
Probier es selbst
extends Area2D
func _ready():
body_entered.connect(_on_star_caught)
func _on_star_caught(star):
print("Caught a star!")
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Signale und Kollisionen
Übe selbstständig: Godot-Playground