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 debería desaparecer, no quedar oculta, para que nada pueda volver a tocarla. queue_free() elimina un nodo y todos sus hijos 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. Hasta entonces, puede que otro código siga usando el nodo. En unas pocas lecciones verás por qué esto importa.
Desafío
FácilHaz que la moneda desaparezca cuando camines hacia ella. Libérala en _on_body_entered.
Pruébalo tú mismo
extends Area2D
func _ready():
body_entered.connect(_on_body_entered)
func _on_body_entered(body):
pass
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