Menu
CoddyTech

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.

challenge icon

Défi

Moyen

Fais entendre chaque pièce ramassée à Main.

  1. Dans coin.gd, déclare signal collected et émets-le avant queue_free().
  2. Dans le _ready() de main.gd, connecte le collected de chaque pièce à une nouvelle fonction _on_coin_collected().
  3. 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

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