Много шипов, одна функция
Часть раздела Сигналы и столкновения путешествия по 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.
Задание
СреднеТолько 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)
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Сигналы и столкновения
Потренируйтесь самостоятельно: Песочница Godot