Pièces restantes
Fait partie de la section Signaux et collisions du Journey Godot de Coddy. Leçon 17 sur 27.
Chaque pièce compte ici les pièces restantes quand tu la ramasses. La première affiche Coins left: 3, mais il n'en reste que deux.
queue_free() attend la fin de la frame. Jusque-là, la pièce fait toujours partie de son groupe, donc elle se compte elle-même.
Retire d'abord la pièce du groupe avec remove_from_group(). Cela se fait immédiatement :
func _on_body_entered(body):
remove_from_group("coins")
print("Coins left: ", get_tree().get_nodes_in_group("coins").size())
queue_free()Les lignes s'exécutent de haut en bas, donc remove_from_group doit apparaître avant le comptage.
Défi
MoyenCorrigez le comptage. Retirez la pièce du groupe coins avant de compter. Le retrait des trois pièces doit afficher Coins left: 2, Coins left: 1, puis Coins left: 0.
Essayez vous-même
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()
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Signaux et collisions
Entraînez-vous par vous-même : Playground Godot