Collecteur de pièces : Pièces collectées
Fait partie de la section Signaux et collisions du Journey Godot de Coddy. Leçon 25 sur 27.
main.gd contient les règles du jeu, comme le nombre de pièces qu'il reste. Main doit être informé de chaque pièce que tu prends. Chaque pièce envoie donc un signal, et Main les écoute toutes.
Dans coin.gd, déclare signal collected et émets-le juste avant que la pièce ne se libère :
if body.is_in_group("player"):
collected.emit()
queue_free()Dans main.gd, connecte chaque pièce du groupe, comme tu l'as fait avec les pics :
for coin in get_tree().get_nodes_in_group("coins"):
coin.collected.connect(_on_coin_collected)Cela fonctionne dans le _ready() de Main, car Godot initialise les enfants avant leur parent. À ce moment-là, toutes les pièces ont rejoint le groupe.
Défi
MoyenFais entendre chaque pièce ramassée à Main.
- Dans
coin.gd, déclaresignal collectedet émets-le avantqueue_free(). - Dans le
_ready()demain.gd, connecte lecollectedde chaque pièce à une nouvelle fonction_on_coin_collected(). - Fais en sorte que cette fonction affiche
Got a coin!.
Appuie sur « Jouer » et marche sur une pièce : la Console affiche Got a coin!. Puis appuie sur « Vérifier ».
Essayez vous-même
extends Node2D
func _ready():
pass
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