Menu
CoddyTech

Есть ли это в группе?

Часть раздела Сигналы и столкновения путешествия по 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 убирает трассу и не входит ни в одну группу.

challenge icon

Задание

Легко

Сделай так, чтобы финишная линия выводила сообщение только для гонщиков.

  1. В _on_body_entered(body) помести print внутрь if.
  2. Пусть условие 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