Despejar el camino
Parte de la sección Señales y colisiones del Journey de Godot de Coddy. Lección 18 de 27.
Para eliminar todos los nodos de un tipo, recorre el grupo y libera cada nodo:
for crate in get_tree().get_nodes_in_group("crates"):
crate.queue_free()No puedes liberar la lista en sí. get_nodes_in_group("crates").queue_free() detiene el juego con un error, porque una lista no es un nodo.
Tres cajas bloquean el camino hacia la derecha. Todas están en el grupo crates.
Desafío
IntermedioHaz que el interruptor elimine todas las cajas.
- En
_on_switch_body_entered, reemplaza la líneaCrate1con un bucleforsobre el grupocrates. - Libera cada caja dentro del bucle.
Pulsa «Jugar» y pisa el interruptor: todas las cajas desaparecen y puedes atravesar. Después, pulsa «Comprobar».
Pruébalo tú mismo
extends Node2D
func _ready():
$Switch.body_entered.connect(_on_switch_body_entered)
func _on_switch_body_entered(body):
$Crate1.queue_free()
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Señales y colisiones
Practica por tu cuenta: Playground de Godot