Menu
CoddyTech

Plusieurs piques, une seule fonction

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

Un niveau peut contenir de nombreux pics qui font tous la même chose. Relie-les tous à une seule fonction à l’aide d’une boucle parcourant leur groupe :

for spike in get_tree().get_nodes_in_group("spikes"):
	spike.body_entered.connect(_on_spike_body_entered)

À chaque tour de boucle, le body_entered du pic suivant est connecté. Quelle que soit la rangée que tu touches, la même fonction s’exécute et récupère ton corps.

Une cinquième rangée ajoutée au groupe fonctionne sans aucun nouveau code. Les quatre rangées ici font partie du groupe spikes.

challenge icon

Défi

Moyen

Fais en sorte que chaque rangée de piques te renvoie au point de départ.

  1. Dans _ready(), remplace la ligne connect par une boucle for sur le groupe spikes.
  2. Dans la boucle, connecte le body_entered de chaque nœud à _on_spike_body_entered.

Appuie sur « Jouer » et marche sur n’importe quelles piques : tu reviens au départ. Puis appuie sur « Vérifier ».

Essayez vous-même

extends Node2D

func _ready():
	$Spikes1.body_entered.connect(_on_spike_body_entered)

func _on_spike_body_entered(body):
	body.position = Vector2(80, 280)

Toutes les leçons de Signaux et collisions

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