Menu
CoddyTech

Collecteur de pièces : Pièces restantes

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

Main doit savoir combien de pièces il reste. Garde le nombre dans une variable en haut de main.gd. Compte les éléments du groupe une fois au début, puis soustrais-en un pour chaque pièce ramassée :

var coins_left = 0

func _ready():
	coins_left = get_tree().get_nodes_in_group("coins").size()

Pourquoi ne pas compter les éléments du groupe dans _on_coin_collected ? La pièce envoie collected juste avant de se libérer. Elle reste dans son groupe jusqu'à la fin de la frame, le décompte l'inclurait donc.

Une variable ne change que si tu la modifies.

challenge icon

Défi

Moyen

Dans main.gd :

  1. Ajoute var coins_left = 0 en haut, et définis sa valeur sur la taille du groupe coins dans _ready().
  2. Dans _on_coin_collected(), soustrais-en un et affiche Coins left: et le nombre, à la place de Got a coin!.

La première pièce affiche Coins left: 5.

Essayez vous-même

extends Node2D

func _ready():
	for coin in get_tree().get_nodes_in_group("coins"):
		coin.collected.connect(_on_coin_collected)

func _on_coin_collected():
	print("Got a coin!")
quiz iconTestez-vous

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