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.
Défi
MoyenFais en sorte que chaque rangée de piques te renvoie au point de départ.
- Dans
_ready(), remplace la ligneconnectpar une boucleforsur le groupespikes. - Dans la boucle, connecte le
body_enteredde 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
2Signaux
Les zones se rencontrentVotre propre signalSignaux avec des valeursLe signal d’un autre nœudÉcouter votre signal5Dangers
Les piques vous renvoient en arrièreUn point de contrôlePlusieurs piques, une seule fonctionCalques et masquesEntraînez-vous par vous-même : Playground Godot