Documentation for CEGUI / Документация к CEGUI: Falagard skinning system. Introduction to Falagard ''looknfeel'' XML

← →
Английский оригинал Перевод на русский

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

Прежде, чем мы перейдем к делу, я бы хотел отметить, что данная статья (или, все таки, вся документация) не предназначена для обучения XML.

proVIDec 08.06.12 в 19:21

0

Подразумевается, что читатель немного знаком с XML и его правильным применением.

proVIDec 08.06.12 в 19:22

0

Перед началом: Пустой шаблон

proVIDec 08.06.12 в 19:23

0

Прежде чем начнем добавлять шаблоны объектов, или WidgetLook, так называется тег в скрипте, нам нужно начальное описание файла.

proVIDec 09.06.12 в 03:41

0

Это очень просто и выглядит вот так:

proVIDec 09.06.12 в 03:42

0

Мы будем вставлять определения WidgetLook между парой <Falagard></Falagard>.

proVIDec 09.06.12 в 03:44

0

Заключать элементов между этими тегами разрешается сколько угодно, так что все нам необходимое можно засунуть в один файл (в большинстве случаев это заканчивается ОЧЕНЬ большим файлом).

proVIDec 09.06.12 в 03:48

0

Начнем с простого: Кнопка

proVIDec 09.06.12 в 03:45

0

Без сомнения можно сказать, что скромная кнопочка является наиболее распространенным объектом. Без нее любой Пользовательский Интерфейс был бы практически бесполезным.

proVIDec 09.06.12 в 03:51

0

Так что с нее и начнем.

proVIDec 09.06.12 в 03:51

0

Для того чтобы создать шаблон любого объекта, нужно использовать тег WidgetLook и указать имя для типа объекта, который вы определяете, используя атрибут name.

proVIDec 09.06.12 в 04:32

0

Поэтому мы начнем с добавления к нашему исходному файлу пустого тега WidgetLook:

proVIDec 09.06.12 в 04:33

0

Как вы можете увидеть из справки для окна Falagard/Button, мы можем указать вид кнопки для многочисленных состояний, а именно: Normal, Hover, Pushed, Disabled.

proVIDec 09.06.12 в 04:44

0

Поскольку теперь мы знаем какие состояния поддерживает объект, то было бы неплохо добавить для них каркас.

proVIDec 09.06.12 в 04:47

0

Фактически это дополнит WidgetLook и сделает его самодостаточным, хотя вполне очевидно, что на данном этапе, пока мы не описали виды, ничего отображаться не будет.

proVIDec 09.06.12 в 04:53

0

Давайте покончим с этим, и добавим пустые теги StateImagery для необходимых состояний:

proVIDec 09.06.12 в 04:54

0

Чтобы описать, как объект должен выглядеть, используется тег ImagerySection.

proVIDec 09.06.12 в 05:45

0

Каждому сегменту дается имя.

proVIDec 09.06.12 в 05:13

0

Имя используется позже, для подключения сегмента внутрь слоев, которые определяются для каждого состояния.

proVIDec 09.06.12 в 05:15

0

Для нашей кнопки, мы создадим сегменты для каждого состояния кнопки.

proVIDec 09.06.12 в 05:16

0

Мы можем добавить наброски в наш WidgetLook, который находится в стадии разработки:

proVIDec 09.06.12 в 05:19

0

Теперь мы можем определить ImageryComponent для каждого сегмента.

proVIDec 09.06.12 в 05:09

0

Он скажет системе, как наша кнопка должна выглядеть.

proVIDec 09.06.12 в 05:09

0

Есть много различных способов применить эти сегменты.

proVIDec 09.06.12 в 05:48

0

Классический вариант, когда есть крайние части в натуральном размере и середина, которую можно растягивать сколько хочешь для заполнения пространства между краями.

proVIDec 09.06.12 в 05:31

0

Все это звучит довольно просто, но есть одна проблема.

proVIDec 09.06.12 в 05:28

0

Размер изображения в пикселях может быть разный.

proVIDec 09.06.12 в 05:40

0

Для того, чтобы указать какое изображение нужно использовать, мы применяем тег ImageryComponent.

proVIDec 09.06.12 в 05:41

0

Он должен быть добавлен внутрь тега ImagerySection.

proVIDec 09.06.12 в 05:42

0

Добавим пустой ImageyComponent в normal_imagery:

proVIDec 09.06.12 в 05:51

0

Первое, что нужно сделать - добавить в ImageryComponent определение области, которое скажет системе, где изображение должно быть отображено:

proVIDec 09.06.12 в 06:07

0
Минутку...

Следующая страница →