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