Menu
CoddyTech
flag Ru iconРусскийdown icon

Много шипов, одна функция

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

На уровне может быть много шипов, которые делают одно и то же. Подключи их все к одной функции с помощью цикла по их группе:

for spike in get_tree().get_nodes_in_group("spikes"):
	spike.body_entered.connect(_on_spike_body_entered)

На каждом шаге цикла подключается событие body_entered следующего шипа. Какой бы ряд ты ни задел, запускается одна и та же функция, и она получает твое тело.

Пятый ряд, добавленный в группу, будет работать без нового кода. Эти четыре ряда входят в группу spikes.

challenge icon

Задание

Средне

Только Spikes1 отправляет тебя обратно. В _ready() подключи body_entered каждого узла в группе spikes к _on_spike_body_entered.

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

extends Node2D

func _ready():
	$Spikes1.body_entered.connect(_on_spike_body_entered)

func _on_spike_body_entered(body):
	body.position = Vector2(80, 280)
quiz iconПроверьте себя

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

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

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