Menu
CoddyTech

Muchas púas, una función

Parte de la sección Señales y colisiones del Journey de Godot de Coddy. Lección 21 de 27.

Un nivel puede tener muchos pinchos que hacen todos lo mismo. Conéctalos todos a una función con un bucle sobre su grupo:

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

En cada vuelta del bucle se conecta el siguiente pincho mediante body_entered. Cualquiera de las filas que toques ejecutará la misma función y obtendrá tu cuerpo.

Una quinta fila añadida al grupo funciona sin código nuevo. Las cuatro filas de aquí están en el grupo spikes.

challenge icon

Desafío

Intermedio

Haz que cada fila de pinchos te haga volver al inicio.

  1. En _ready(), reemplaza la única línea connect por un bucle for que recorra el grupo spikes.
  2. Dentro del bucle, conecta el body_entered de cada nodo con _on_spike_body_entered.

Pulsa «Jugar» y camina hacia cualquier pincho: volverás al inicio. Después, pulsa «Comprobar».

Pruébalo tú mismo

extends Node2D

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

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

Todas las lecciones de Señales y colisiones

Practica por tu cuenta: Playground de Godot