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

№45. Пользовательский интерфейс . Ноды группы Control.

При добавлении новой ноды, в меню можно заметить что ноды разделены на три основные группы : Ноды для работы с 3D(Spatial), Ноды для работы с 2D (Node2D)и ноды для работы с интерфейсом (Control)
Помимо этого есть кучка нод которые не входят в эти группы, и выполняют универсальные функции.

Сегодня поговорим о нодах которые лежат в группе Control.

Для начала напомню, что при создании новой сцены годо нам предлагает «быстрый» метод — выбор из меню.

-2

Как можно заметить , тут есть основное — 2D, 3D и User Interface, и если присмотреться то видно что у них есть сбоку цветовая иконка.
Собственно этим цветом и разделены ноды «по смыслу» в меню нод.

Если мы нажмем кнопку User Interface, годо создаст сцену с рутовой нодой Control.

Для чего вообще это всё выведено отдельно.
Дело в том, что годо позволяет собирать нам динамические интерфейсы без написания сложной математики.
Представьте : Вы создаете некое поле, размещаете в нем элементы, и теперь меняя размеры этого поля , все элементы будут динамически подгоняться под поле.

-3

Нод для контролирования элементов очень много. Тут есть скроллбары, слайдеры, списки, всякого рода контеинеры и разделители, всплывающие диалоги и даже видео плеер.
Расписывать каждую ноду смысла я не вижу.
Отмечу лишь то, что контеинеры работают только с элементами Control группы. Т.е. вы не сможете запихать в качестве элемента скажем Спрайт. Он просто не будет отрабатываться так как наследуется не от Control, и у него нет данных для форматирования.

-4

Давайте заглянем теперь в сигналы нод Control.
Узнаем, что позволяет нам этот класс.

-5

А позволяет он нам в принципе многое. Мы можем отслеживать клик на ноде, отслеживать находится ли курсор над текущей нодой, изменения размера ноды и так далее.

Надеюсь вам была полезна эта информация.
Подписывайтесь и ставьте лайк ! )