Есть ли это в группе?
Часть раздела Сигналы и столкновения путешествия по Godot на Coddy. Урок 12 из 27.
Проверка body.name работает для одного узла. Для набора узлов проверяй группу:
if body.is_in_group("racers"):
print(body.name, " finished!")is_in_group() возвращает true или false. Используй её даже для одного узла. Имя меняется, когда ты переименовываешь или копируешь узел. Группа указывает, чем является узел.
Три робота бегут к финишной линии. Red и Blue входят в группу racers, заданную в сцене. Bot убирает трассу и не входит ни в одну группу.
Задание
ЛегкоСделай так, чтобы финишная линия выводила сообщение только для гонщиков.
- В
_on_body_entered(body)поместиprintвнутрьif. - Пусть условие
ifпроверяетbody.is_in_group("racers").
Нажми «Играть»: в консоли появятся Red finished! и Blue finished!, а для Bot ничего не появится. Затем нажми «Проверить».
Попробуйте сами
extends Area2D
func _ready():
body_entered.connect(_on_body_entered)
func _on_body_entered(body):
print(body.name, " finished!")
Все уроки раздела Сигналы и столкновения
Потренируйтесь самостоятельно: Песочница Godot