Menu
CoddyTech

Области обнаруживают тела

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

challenge icon

Задание

Легко

Размести зону на пути робота.

  1. Робот движется вдоль y = 250. В _ready() установи значение position.y зоны равным 250.
  2. Оставь строку 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