Menu
CoddyTech

Расчистить путь

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

Чтобы удалить все узлы одного типа, пройдись циклом по группе и удали каждый узел:

for crate in get_tree().get_nodes_in_group("crates"):
	crate.queue_free()

Нельзя удалить сам список. get_nodes_in_group("crates").queue_free() останавливает игру с ошибкой, потому что список — это не узел.

Три ящика преграждают путь направо. Все они входят в группу crates.

challenge icon

Задание

Средне

Сделай так, чтобы переключатель удалял все ящики.

  1. В _on_switch_body_entered замени строку Crate1 циклом for по группе crates.
  2. Освобождай каждый ящик внутри цикла.

Нажми «Играть» и наступи на переключатель: все ящики исчезнут, и ты сможешь пройти сквозь это место. Затем нажми «Проверить».

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

extends Node2D

func _ready():
	$Switch.body_entered.connect(_on_switch_body_entered)

func _on_switch_body_entered(body):
	$Crate1.queue_free()
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

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

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