Найти тему
Игровой движок Godot engine

№164.GODOT 4.Работа с сигналами через код.

В Godot 4 изменился синтаксис, и это значит что пришло время обновить информацию.

Субъективно - стало гораздо более лаконично.

Разбираться будем на кнопке (Button)
Обращаемся к ноде , и затем пишем сразу название сигнала:

Пока пишем, годо нам даст подсказки. Ну или смотрите список сигналов который есть в окне свойств ноды.

После выбора сигнала, собственно подключаем его к чему либо. В данном случае к текущей ноде , на которую подключен этот скрипт - self, и пишем название функции которая будет вызвана:

Обратите внимание - имя вызываемой функции пишется без скобок в конце ()
Обратите внимание - имя вызываемой функции пишется без скобок в конце ()

В функции просто выведем некий текст:

-3

Запускаем - получаем в выводе «Yay»

***

Передача аргументов задается через bind()
Например передадим имя кнопки и число 23:

-4

Подключить сигнал, и вызвать метод из скрипта другой ноды :

-5

В этом примере мы обращаемся к леиблу под кнопкой , и вызываем из скрипта на леибле метод _lab().

***

Ну и зацепим кастомные сигналы.
На кнопку вешаем скрипт, и прописываем запуск нового сигнала
myButton через 1 секунду.
Передадим аргументами две переменные
N и R

-6

В скрипте сцены подключаем myButton сигнал к кнопке и ловим переданные аргументы:

-7

За сим всё, удачной разработки !
Подписывайтесь на канал,
вступайте в группу в ВК, и не забывайте что у нас есть дискорд сервер.
Удачи в изучении годо !