Области обнаруживают тела
Часть раздела Сигналы и столкновения путешествия по 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() перемести зону вниз, на y = 250. Затем нажми Play и смотри на консоль.
Попробуйте сами
extends Area2D
func _ready():
body_entered.connect(_on_body_entered)
func _on_body_entered(body):
print("Welcome to the zone!")
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Сигналы и столкновения
Потренируйтесь самостоятельно: Песочница Godot