Области обнаруживают тела
Часть раздела Сигналы и столкновения путешествия по Godot на Coddy. Урок 1 из 27.
Area2D — это зона, которая замечает, что в неё входит.
У Area2D должен быть дочерний узел CollisionShape2D. Форма задаёт размер области — здесь это зелёный прямоугольник. Тела проходят сквозь область. Они не сталкиваются с ней.
Когда тело входит в область, она отправляет сигнал под названием body_entered. Скрипт этой зоны прослушивает его:
extends Area2D
func _ready():
body_entered.connect(_on_body_entered)
func _on_body_entered(body):
print("Welcome to the zone!")_on_body_entered выполняется каждый раз, когда тело входит в форму. В следующем уроке объясняется строка connect. Робот — это тело, но он движется вдоль y = 250, ниже зоны.
Задание
ЛегкоРазмести зону на пути робота.
- Робот движется вдоль
y = 250. В_ready()установи значениеposition.yзоны равным250. - Оставь строку
connectбез изменений.
Нажми «Играть»: когда робот войдёт в зону, в консоли появится Welcome to the zone!. Затем нажми «Проверить».
Попробуйте сами
extends Area2D
func _ready():
body_entered.connect(_on_body_entered)
func _on_body_entered(body):
print("Welcome to the zone!")
Все уроки раздела Сигналы и столкновения
Потренируйтесь самостоятельно: Песочница Godot