Menu
CoddyTech

Сигнал другого узла

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

Скрипт также может прослушивать сигнал другого узла. Получи узел с помощью $, а затем подключи его сигнал:

$Switch.body_entered.connect(_on_switch_body_entered)

Это означает: когда Switch отправляет сигнал body_entered, вызывается функция _on_switch_body_entered. Функция находится в этом скрипте, поэтому она может использовать узлы этого скрипта, например $Light.

В играх часто используют такую схему. Один главный скрипт подключает переключатель, свет и дверь, а каждый из этих узлов остаётся простым. Godot называет такие функции так: _on_, затем имя узла, затем имя сигнала.

challenge icon

Задание

Легко

Сделай так, чтобы переключатель включал свет.

  1. В _ready() узла Main начни строку с $Switch.body_entered.
  2. Подключи его к _on_switch_body_entered.

Нажми «Играть» и наступи на зелёный переключатель: свет включится. Затем нажми «Проверить».

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

extends Node2D

func _ready():
	pass

func _on_switch_body_entered(body):
	$Light.visible = true

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

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