Menu
CoddyTech

Pièces restantes

Fait partie de la section Signaux et collisions du Journey Godot de Coddy. Leçon 17 sur 27.

Chaque pièce affiche ici le nombre de 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 précéder le comptage.

challenge icon

Défi

Moyen

Corrige le décompte des pièces restantes.

  1. Dans _on_body_entered, retire la pièce du groupe coins avant la ligne print.
  2. Utilise remove_from_group().

Appuie sur « Jouer » et ramasse les trois pièces : la console affiche Coins left: 2, puis Coins left: 1, puis Coins left: 0. Ensuite, appuie sur « Vérifier ».

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()

Toutes les leçons de Signaux et collisions

Entraînez-vous par vous-même : Playground Godot