Готовый перевод CEGUI In Practice / CEGUI на практике: 5. Using .layout files

Внимание! Этот перевод, возможно, ещё не готов, так как модераторы установили для него статус «перевод редактируется»

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Следующая:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

И если теперь мы запустим все это, увидим ли мы окно?

Неа. Мы же не привязали его к общей структуре окон.

Примечание: Подразумевается, что у вас уже настроен GUISheet, в противном случае произойдет ошибка.

Заключение

Мы увидели, как загружать .layout файлы.

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

В следующей главе мы применим эти знания, чтобы создать консоль, которая действительно делает что-то.

До встречи.

Вот список параметров окон, он поможет в создании .layout файлов: <i>ссылка</i>.

Внимание! Этот перевод, возможно, ещё не готов.
Его статус: перевод редактируется

Переведено на Нотабеноиде
http://notabenoid.org/book/29927/102394

Переводчики: proVIDec

Настройки

Готово:

100.00% КП = 1.0