CEGUI In Practice / CEGUI на практике: 5. Using .layout files

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

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

В этой главе мы поговорим об использовании .layout файлов.

proVIDec 06.06.12 в 07:57

0

Это то, что необходимо масштабному проекту, в котором команда дизайнеров не собирается терпеть перекомпилирование исходников каждый раз, как они что-то изменили.

proVIDec 06.06.12 в 08:51

0

Знакомьтесь, разметка

proVIDec 06.06.12 в 08:47

0

Файл разметки (.layout) имеет формат xml файла.

proVIDec 06.06.12 в 08:09

0

Существует по крайней мере два редактора для него.

proVIDec 06.06.12 в 08:10

0

Первый - CEGUI LayoutEditor. Это достаточно развитый редактор.

proVIDec 06.06.12 в 08:34

0

К сожалению, он устарел и на данный момент обновлений не планируется.

proVIDec 06.06.12 в 08:35

0

Есть новый редактор (CEGUI Layout Editor 2), который доступен на SVN.

proVIDec 06.06.12 в 08:41

0

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

proVIDec 06.06.12 в 08:43

0

Первое на что стоит обратить внимание, то что это xml файл.

proVIDec 06.06.12 в 08:43

0

Так что нужно следовать стандартам XML.

proVIDec 06.06.12 в 08:45

0

Второе, то что иерархия файла такая же, как и у CEGUI.

proVIDec 06.06.12 в 08:46

0

Мы будем работать над созданием простой консоли.

proVIDec 06.06.12 в 08:46

0

Я создал разметку консоли, это и будет темой этого туториала, создать чат, по типу таких, которые вы найдете в любой MMORPG.

proVIDec 06.06.12 в 10:03

0

Вот, что мы сделаем сегодня:

proVIDec 06.06.12 в 08:10

0

Прилагаю разметку:

proVIDec 06.06.12 в 08:48

0

Ладно, я признаюсь,

proVIDec 06.06.12 в 08:51

0

я сжульничал и использовал LayoutEditor.

proVIDec 06.06.12 в 08:52

0

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

proVIDec 06.06.12 в 08:55

0

Эм. В любом случае, давайте посмотрим на то, как устроен .layout файл.

proVIDec 06.06.12 в 08:52

0

Первая строчка, просто описание формата XML, которое для нас не важно.

proVIDec 06.06.12 в 08:56

0

Следующая строка является началом .layout файла.

proVIDec 06.06.12 в 08:59

0

Следующая:

proVIDec 06.06.12 в 09:00

0

Вот где начинаются интересные вещи.

proVIDec 06.06.12 в 09:00

0

Как вы можете видеть мы создаем окно типа "TaharezLook/FrameWindow" с именем "ConsoleRoot".

proVIDec 06.06.12 в 09:01

0

Следующие строки:

proVIDec 06.06.12 в 09:01

0

изменяют различные параметры всего окна.

proVIDec 06.06.12 в 09:03

0

Они устанавливают шрифт, заголовок и область окна.

proVIDec 06.06.12 в 09:04

0

Это также могло быть сделано в коде:

proVIDec 06.06.12 в 09:05

0

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

proVIDec 06.06.12 в 09:07

0

А следующие строчки уже на подходе:

proVIDec 06.06.12 в 09:05

0

Эти строчки встречаются еще до тега <Window/>, который закрывает ConsoleRoot, так что когда скрипт загрузится в CEGUI, EditBox будет сделан ребенком ConsoleRoot.

proVIDec 06.06.12 в 09:29

0

А вы можете сказать какого типа будет это окно?

proVIDec 06.06.12 в 09:30

0

Это будет окно ввода.

proVIDec 06.06.12 в 09:31

0

Это часть консоли, куда пользователь будет писать то, что он хочет сказать.

proVIDec 06.06.12 в 09:31

0

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

proVIDec 06.06.12 в 09:32

0

И все же. "ConsoleRoot/SendButton" будет кнопкой отправки сообщения, а "ConsoleRoot/ChatBox" будет полем, где сообщения будут отображаться.

proVIDec 06.06.12 в 09:34

0

[Примечание: Как вы можете видеть я следую схеме именования Родитель/Потомок.

proVIDec 06.06.12 в 09:35

0

Это НЕ обязательно, но я думаю, это помогает читать код во время отладки.

proVIDec 06.06.12 в 09:35

0

Было бы неудобно назвать окно EditBox, так как это довольно распространенное имя, которое может вызвать конфликт с другими окнами вашего приложения, которые вы создадите позже.]

proVIDec 06.06.12 в 09:37

0

Применение наших знаний

proVIDec 06.06.12 в 09:34

0

Теперь, когда мы немного узнали о .layout файлах, нам нужно понять, как применить эти знания.

proVIDec 06.06.12 в 09:40

0

Как распознать файл разметки в CEGUI.

proVIDec 06.06.12 в 09:41

0

Этот код загружает разметку в новое окно.

proVIDec 06.06.12 в 09:41

0

Отлично объяснил.

proVIDec 06.06.12 в 09:42

0

Есть кое-что, о чем стоит упомянуть. Вы можете добавлять префикс к именам .layout файлов.

proVIDec 06.06.12 в 09:43

0

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

proVIDec 06.06.12 в 09:44

0

Давайте изменим предыдущий пример. Как-то так:

proVIDec 06.06.12 в 09:56

0

Теперь к именам окон добавится "_second" (т.е. "second_ConsoleRoot").

proVIDec 06.06.12 в 09:46

0

Это предотвратит ошибки с именами.

proVIDec 06.06.12 в 09:46

0
Минутку...

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