Виджеты — это элементы интерфейса, которые можно добавлять и удалять из интерфейса.
В следующих разделах описаны все виджеты, которые можно использовать для создания пользовательского интерфейса в Verse.
Рабочая область
Рабочая область — это виджет-контейнер. Вы можете размещать другие виджеты внутри рабочей области, используя ячейки рабочей области для создания интерфейса. Когда виджет рабочей области находится на верхнем уровне иерархии интерфейса, он представляет собой весь экран.
Вы можете вложить виджет рабочей области в другой виджет рабочей области, но только корневой виджет будет охватывать весь экран.
Примеры того, как создать виджет рабочей области и как расположить виджеты на экране, см. в разделе Расположение виджетов на экране.
Кнопка
Существует три вида виджетов кнопок, которые можно добавить в интерфейс. Разница между кнопками лишь косметическая.
| Интерфейс | Код Verse |
|---|---|
![]() |
|
![]() |
|
![]() |
|
Чтобы узнать, как настроить взаимодействие c кнопками, см. раздел Как сделать виджеты интерактивными.
Цветной блок
Вы можете создать виджет с настройками цвета и прозрачности с помощью виджета color_block.
Widget := color_block:
DefaultColor := NamedColors.CornflowerBlue
DefaultOpacity := 1.0
DefaultDesiredSize := vector2{X := 128.0, Y := 128.0}
Изображение
Вы можете добавлять изображения в интерфейс с помощью текстуры, назначенной виджету texture_block.
Widget := texture_block:
DefaultImage := MyTexture
DefaultDesiredSize := vector2{X := 128.0, Y := 128.0}
Чтобы узнать, как сделать доступными в коде Verse текстуры из UEFN, см. раздел Доступ к ресурсам из UEFN в Verse.
Ползунок
Вы можете добавить ползунки, чтобы игрок мог выбирать значения из предопределённого диапазона. Свойство «Размер шага» определяет, насколько изменяется значение при нажатии кнопки или клавиши на контроллере или клавиатуре (но не влияет на шаг при перетаскивании мышью).
Widget := slider_regular:
DefaultValue := 5.0
DefaultMinValue := 0.0
DefaultMaxValue := 10.0
DefaultStepSize := 0.5
Чтобы узнать, как настроить взаимодействие с ползунками, см. раздел Как сделать виджеты интерактивными.
Текст
Чтобы отобразить текст в своём интерфейсе, используйте Текстовый блок.
TextForUI<localizes> : message = "Это мой текст!"
Widget := text_block{DefaultText := TextForUI}
Наложенный слой
Вы можете накладывать виджеты друг на друга с помощью виджета Наложенный слой. Виджеты отрисовываются в том порядке, в котором заданы слоты наложенных слоёв
В приведённом ниже примере сначала отрисован цветной блок, а текстовый блок отрисован поверх цветного блока. Если поменять местами порядок слотов наложенных слоёв (и сделать текстовый блок первым), цветной блок будет отрисован поверх текстового блока и текст будет скрыт.
TextForUI<localizes>(InText : string) : message = "{InText}"
Widget := overlay:
Slots := array:
overlay_slot:
Widget := color_block:
DefaultColor := NamedColors.MintCream
DefaultOpacity := 1.0
DefaultDesiredSize := vector2{X := 1024.0, Y := 128.0}
overlay_slot:
Widget := text_block:
DefaultText := TextForUI("Это мой текстовый блок, наложенный на цветной блок.")
Стековое поле
Виджеты можно располагать вертикально или горизонтально с помощью виджета Стековое поле.
| Вертикальная ориентация | Горизонтальная ориентация |
|---|---|
![]() |
![]() |
|
|




