Найти в Дзене
Игровой движок Godot engine

№136. SetGet.

ВНИМАНИЕ. В Godot4 изменился синтаксис. Вся информация ниже актуальна только для Godot 3.x

Приветствую.
В этой небольшой заметке разберемся с
SetGet.

Для примера, на котором я попробую донести общий смысл возьмем сценку с лейблом, который в свою очередь будет выводить состояние переменной некой ноды.

Создадим сценку в которой будет две ноды (А,В)и лейбл.

В ноду А добавим скрипт. В котором будет одна переменная Life.

-2

Теперь добавим скрипт на рутовой ноде. Из этого скрипта мы будем менять переменную ноды А, прибавляя при каждом клике единицу.

-3

Вернемся в скрипт ноды А, и допишем немного кода для вывода значения переменной в леибл.

-4

Если мы сейчас запустим проект и нажмем кнопку мышки, то увидим как наш леибл исправно выводит значение переменной. И всё работает по идее как надо.
Кроме разве что постоянного обращения к леиблу, так как весь код находится в процесс функции.

Собственно говоря setget и дает нам возможность отвязаться от процесса, и делать обновление именно тогда, когда переменная была изменена.

Работает это так :
Мы добавляем функцию, в которой будет происходить обновление переменной и вывод в леибл. И дописываем к переменной «setget имя_функции».

-5

Ну и так как эта функция будет вызываться единожды при каждом изменении переменной, мы можем стартануть что то еще.
Например эффект, звук или анимацию.

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

#godot #gdscript #программирование #игровой движок #уроки