Сигнал другого узла
Часть раздела Сигналы и столкновения путешествия по Godot на Coddy. Урок 9 из 27.
Скрипт также может прослушивать сигнал другого узла. Получите узел с помощью $, затем подключите его сигнал:
$Switch.body_entered.connect(_on_switch_body_entered)Это означает: когда Switch отправляет сигнал body_entered, вызовите _on_switch_body_entered. Функция находится в этом скрипте, поэтому она может использовать узлы этого скрипта, например $Light.
В играх часто используют такую схему. Один главный скрипт подключает переключатель, свет и дверь, а каждый из них остается простым. Godot называет такие функции так: _on_, затем имя узла, затем имя сигнала.
Задание
ЛегкоВ Main есть функция, которая включает свет, но её никто не вызывает. В _ready() узла Main подключи body_entered узла Switch к _on_switch_body_entered. Затем наступи на зелёный переключатель.
Попробуйте сами
extends Node2D
func _ready():
pass
func _on_switch_body_entered(body):
$Light.visible = true
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Сигналы и столкновения
2Сигналы
Области взаимодействуютСвой сигналСигналы со значениямиСигнал другого узлаСлушаем свой сигналПотренируйтесь самостоятельно: Песочница Godot