Übrig gebliebene Münzen
Teil des Abschnitts Signale und Kollisionen der Godot-Journey von Coddy. Lektion 17 von 27.
Jede Münze zählt hier die verbleibenden Münzen, wenn du sie einsammelst. Die erste gibt Coins left: 3 aus, obwohl nur noch zwei übrig sind.
queue_free() wartet bis zum Ende des Frames. Bis dahin befindet sich die Münze noch in ihrer Gruppe und zählt sich selbst mit.
Nimm die Münze zuerst mit remove_from_group() aus der Gruppe. Das geschieht sofort:
func _on_body_entered(body):
remove_from_group("coins")
print("Coins left: ", get_tree().get_nodes_in_group("coins").size())
queue_free()Zeilen werden von oben nach unten ausgeführt, deshalb muss remove_from_group vor dem Zählen stehen.
Aufgabe
MittelKorrigiere die Zählung. Entferne die Münze aus der Gruppe coins, bevor sie gezählt wird. Beim Aufheben der drei Münzen sollte Coins left: 2, Coins left: 1 und dann Coins left: 0 ausgegeben werden.
Probier es selbst
extends Area2D
func _ready():
add_to_group("coins")
body_entered.connect(_on_body_entered)
func _on_body_entered(body):
print("Coins left: ", get_tree().get_nodes_in_group("coins").size())
queue_free()
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
1Bereiche
Bereiche erkennen KörperEin Signal verbindenWer ist hereingekommen?Nur der SpielerEinen Bereich verlassen4Dinge entfernen
Einen Knoten entfernenEine Tür, die sich öffnetÜbrig gebliebene MünzenDen Weg freimachenÜbe selbstständig: Godot-Playground