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.
Défi
MoyenDans main.gd :
- Ajoute
var coins_left = 0en haut, et définis sa valeur sur la taille du groupecoinsdans_ready(). - Dans
_on_coin_collected(), soustrais-en un et afficheCoins left:et le nombre, à la place deGot 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!")
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
6Projet : Collecteur de pièces
Collecteur de pièces : MarcherCollecteur de pièces : PiècesEntraînez-vous par vous-même : Playground Godot