Menu
CoddyTech

Удалить узел

Часть раздела Сигналы и столкновения путешествия по Godot на Coddy. Урок 15 из 27.

Подобранная монета должна исчезнуть, а не быть спрятанной, чтобы её больше ничто не могло коснуться. queue_free() удаляет узел и всех его потомков из игры:

func _on_body_entered(body):
	queue_free()

Вызванная сама по себе, queue_free() удаляет узел, на котором находится скрипт, в данном случае — монету.

В названии есть слово «queue» («очередь»), потому что Godot освобождает узел в конце текущего кадра, а не сразу. До этого момента другой код всё ещё может использовать узел. В следующих нескольких уроках ты узнаешь, почему это важно.

challenge icon

Задание

Легко

Сделай так, чтобы монета исчезала, когда ты в неё заходишь.

  1. В _on_body_entered замени pass.
  2. Освободи монету с помощью queue_free().

Нажми «Играть» и зайди в монету: она исчезнет. Затем нажми «Проверить».

Попробуйте сами

extends Area2D

func _ready():
	body_entered.connect(_on_body_entered)

func _on_body_entered(body):
	pass

Все уроки раздела Сигналы и столкновения

Потренируйтесь самостоятельно: Песочница Godot