Menu
CoddyTech

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.

challenge icon

Desafío

Fácil

Haz que la moneda desaparezca cuando camines hacia ella.

  1. En _on_body_entered, reemplaza pass.
  2. 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