Удалить узел
Часть раздела Сигналы и столкновения путешествия по Godot на Coddy. Урок 15 из 27.
Подобранная монета должна исчезнуть, а не быть скрытой, чтобы её больше ничто не могло коснуться. queue_free() удаляет узел и всех его потомков из игры:
func _on_body_entered(body):
queue_free()Вызванный сам по себе, queue_free() удаляет узел, к которому прикреплён скрипт, в данном случае — монету.
В названии есть слово «queue» («очередь»), потому что Godot освобождает узел в конце текущего кадра, а не сразу. До этого момента другой код всё ещё может использовать узел. Через несколько уроков вы поймёте, почему это важно.
Задание
ЛегкоСделай так, чтобы монета исчезала, когда ты в неё заходишь. Освободи её в _on_body_entered.
Попробуйте сами
extends Area2D
func _ready():
body_entered.connect(_on_body_entered)
func _on_body_entered(body):
pass
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Сигналы и столкновения
Потренируйтесь самостоятельно: Песочница Godot