Eliminar un nodo
Parte de la sección Señales y colisiones del Journey de Godot de Coddy. Lección 15 de 27.
Una moneda que recogiste debe desaparecer, no quedar oculta, para que nada pueda volver a tocarla. queue_free() elimina un nodo y todos sus elementos secundarios del juego:
func _on_body_entered(body):
queue_free()Si se llama por sí solo, queue_free() elimina el nodo al que pertenece el script; en este caso, la moneda.
El nombre incluye «queue» porque Godot libera el nodo al final del fotograma actual, no de inmediato. Es posible que otro código siga usando el nodo hasta entonces. En unas cuantas lecciones verás por qué esto es importante.
Desafío
FácilHaz que la moneda desaparezca cuando camines hacia ella.
- En
_on_body_entered, reemplazapass. - Libera la moneda con
queue_free().
Pulsa «Jugar» y camina hacia la moneda: habrá desaparecido. Después, pulsa «Comprobar».
Pruébalo tú mismo
extends Area2D
func _ready():
body_entered.connect(_on_body_entered)
func _on_body_entered(body):
pass
Todas las lecciones de Señales y colisiones
Practica por tu cuenta: Playground de Godot