Menu
CoddyTech
flag Ru iconРусскийdown icon

Области взаимодействуют

Часть раздела Сигналы и столкновения путешествия по Godot на Coddy. Урок 6 из 27.

Узлы Godot имеют встроенные сигналы. У Area2D есть четыре сигнала, которые вы будете часто использовать:

  • body_entered и body_exited: тело вошло или вышло. Тела — это твёрдые объекты, например CharacterBody2D и StaticBody2D.
  • area_entered и area_exited: другая область вошла или вышла.

Область никогда не отправляет сигнал body_entered для другой области. Падающие звёзды — это области, поэтому корзине нужен сигнал area_entered:

func _ready():
	area_entered.connect(_on_star_caught)

Функция получает вошедшую область, поэтому принимает одно значение, как _on_body_entered(body). Вы можете назвать его как угодно.

challenge icon

Задание

Легко

Две звезды падают в корзину, но в консоли ничего не появляется. Корзина отслеживает не тот сигнал. Сделай так, чтобы для каждой звезды выводилось Caught a star!.

Попробуйте сами

extends Area2D

func _ready():
	body_entered.connect(_on_star_caught)

func _on_star_caught(star):
	print("Caught a star!")
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Сигналы и столкновения

Потренируйтесь самостоятельно: Песочница Godot