Вверх ↑
2013-07-29 59
Игровой интерфейс - Построение GUI

Построение GUI
Введение
Все шаблоны с описанием GUI интерфейсов можно найти в файлах по адресу /bin/minecraft.jar/gui/*.xml
Описание экрана
Основной экран любого диалога, который определяет их общий стиль, описывается в файле screen.xml и имеет следующий формат:
описание основного шаблона экрана

‹?xml version="1.0" encoding="UTF-8" ?›
‹screen›
‹controls›
‹-- верхняя панель --›
‹hlayout width="100%" height="32" name="header"›
‹backgroundcolor color="-1"/›
‹controls›
‹hlayout name="hleft" width="100" paddingLeft="5"›
‹-- не используется --›
‹/hlayout›
‹hlayout name="hcenter" align="center" sizeWidth="fill"›
‹controls›
‹-- содержит заголовок диалога --›
‹label name="titleScreen" title="..." sizeWidth="fill" align="center"/›
‹/controls›
‹/hlayout›
‹hlayout width="100" paddingRight="5" spacing="5"›
‹controls›
‹hlayout name="hright" sizeWidth="fill" halign="right" spacing="5"›
‹-- сюда вставляются дополнительные кнопки с картинками --›
‹/hlayout›
‹button id="33333" title="?" width="20" name="helpButton" visible="false"/›
‹/controls›
‹/hlayout›
‹/controls›
‹/hlayout›

‹-- центральная контентная область --›
‹single width="100%" name="body" valign="center" halign="center"›
‹-- по умолчанию любой контент выравнивается по центру экрана --›
‹/single›

‹-- нижняя панель --›
‹hlayout width="100%" height="32" name="footer"›
‹backgroundcolor color="-1"/›
‹controls›
‹hlayout name="fleft" width="200" paddingLeft="5" spacing="5"›
‹-- левая область --›
‹/hlayout›
‹hlayout name="fcenter" align="center" sizeWidth="fill"›
‹-- центральная область --›
‹/hlayout›
‹hlayout name="fright" width="200" paddingRight="5" halign="right" spacing="5"›
‹-- правая область --›
‹/hlayout›
‹/controls›
‹/hlayout›
‹/controls›
‹/screen›

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

описание основного шаблона экрана

‹?xml version="1.0" encoding="UTF-8" ?›
‹content›
‹NAME1›
‹-- тело элемента --›
‹/NAME1›
‹NAME2›
‹-- тело элемента --›
‹/NAME2›
...
‹NAME№›
‹-- тело элемента --›
‹/NAME№›
‹/content›
где NAME№ это название любого элемента из screen.xml, заданное в аттрибуте name
Теги
Допустимо использование следующих тегов:

Документ - только в качестве root тегов
Элементы управления - только внутри тега controls
Свойства - только внутри тегов элементов управления
  • controls
  • item
  • backgroundcolor
  • backgroundgradient
  • backgroundtexture
  • backgroundstretchtexture
Тег screen
Определяет основной шаблон всех экранов клиента.
Тег content
Содержит только теги с именами из шаблона основной страницы.

Параметр Описание
title заголовок диалога
help идентификатор языкового файла со справкой к диалогу

Тег hlayout
Контейнер с горизонтальным расположением элементов в одну линию.

Параметр Описание
x позиция элемента по оси X
y позиция элемента по оси Y
width длина элемента
height высота элемента
halign выравнивание дочерних элементов по горизонтали
valign выравнивание дочерних элементов по вертикали
spacing расстояние между элементами

Тег vlayout
Контейнер с вертикальным расположением элементов в одну линию.

Параметр Описание
x позиция элемента по оси X
y позиция элемента по оси Y
width длина элемента
height высота элемента
halign выравнивание дочерних элементов по горизонтали
spacing расстояние между элементами

Тег scrollbox
Контейнер с вертикальным расположением элементов в одну линию и возможностью их прокрутки.

Параметр Описание
x позиция элемента по оси X
y позиция элемента по оси Y
width длина элемента
height высота элемента
align выравнивание дочерних элементов по горизонтали

BB-code статьи для вставки
Всего комментариев: 0
(комментарии к статье еще не добавлены)
Комментарий
...