CEGUI In Practice / CEGUI на практике: 1. Introduction

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

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

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

proVIDec 01.06.12 в 15:49

0

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

proVIDec 01.06.12 в 17:42

0

И все же я постараюсь время от времени применять .layout.

proVIDec 02.06.12 в 17:47

0

Однако, как только вы поймете, как использовать объекты в коде, вам станет легче использовать их в скриптах.

proVIDec 01.06.12 в 17:43

0

[Прошу заметить, что я использую Ogre3D, так что все предустановки будут ориентированы на него.]

proVIDec 01.06.12 в 17:45

0

Введение в CEGUI

proVIDec 01.06.12 в 15:50

0

Первый момент - CEGUI использует множество самостоятельных классов.

proVIDec 01.06.12 в 17:48

0

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

proVIDec 02.06.12 в 18:16

0

Далее следуют классы, которые мы будем использовать в этом туториале.

proVIDec 01.06.12 в 18:50

0

CEGUI::System - самый главный шаман. Класс содержит множество функций для установки и получения доступа к различным параметрам.

proVIDec 02.06.12 в 17:50

0

CEGUI::WindowManager - управляет окнами CEGUI. Если вам нужно создать новое окно или удалить старое, WindowManager то, что вам нужно.

proVIDec 01.06.12 в 15:51

0

CEGUI::SchemeManager - управляет схемами.

proVIDec 01.06.12 в 15:48

0

CEGUI::FontManager - управляет различными шрифтами, которые вы будете использовать в своем приложении.

proVIDec 01.06.12 в 15:51

0

Для начала

proVIDec 01.06.12 в 16:53

0

Давайте приступим к работе и немного поговорим о процессе установки.

proVIDec 01.06.12 в 15:59

0

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

proVIDec 01.06.12 в 17:50

0

Поскольку я использую Ogre, то я покажу код для настройки и запуска системы под Ogre.

proVIDec 01.06.12 в 17:51

0

Есть множество способов запустить CEGUI для других систем рендеринга,

proVIDec 01.06.12 в 16:56

0

которые описанны здесь <i>ссылка</i>.

proVIDec 01.06.12 в 16:56

0

Вот способ для Ogre3d:

proVIDec 01.06.12 в 16:00

0

Подключение необходимых заголовков
Настройка CEGUI

proVIDec 01.06.12 в 16:00

0

[Примечание: Это новый метод, использующий функцию bootstrapSystem(), которая была введена в CEGUI 0.7.1. На вики есть примеры для более старых версий CEGUI. Обратите внимание на версию которую вы используете.]

proVIDec 01.06.12 в 18:48

0

Код, приведенный выше, создает экземпляр системы отображения Ogre3D для CEGUI.

proVIDec 02.06.12 в 17:57

0

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

proVIDec 02.06.12 в 18:00

0

Он создает связь, которую Ogre использует для отображения элементов CEGUI.

proVIDec 02.06.12 в 17:59

0

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

proVIDec 02.06.12 в 18:06

0

Если вы вручную создаете окно Ogre, то вам нужно будет вызвать перегруженную функцию CEGUI::OgreRenderer::bootstrapSystem (Ogre::RenderWindow*).

proVIDec 02.06.12 в 18:04

0

Также стоит упомянуть, что bootstrapSystem() создает экземпляр CEGUI::System.

proVIDec 02.06.12 в 18:11

0

Это важно, так как если у вас уже был создан CEGUI::System, вылезет ошибка.

proVIDec 02.06.12 в 18:13

0

Ой-ой, теперь скрипты

proVIDec 01.06.12 в 16:58

0

Теперь, когда мы оговорили очень скучные функции,

proVIDec 01.06.12 в 17:00

0

нам нужно узнать основную информацию о CEGUI, перед тем как продолжать.

proVIDec 01.06.12 в 17:01

0

CEGUI использует ОЧЕНЬ много скриптов.

proVIDec 01.06.12 в 17:01

0

Большинство из которых, определяющие объекты CEGUI, находятся в различных .xml файлах.

proVIDec 01.06.12 в 17:04

0

Для начала стоит рассказать о схемах (*.scheme).

proVIDec 01.06.12 в 16:31

0

Любой объект, который вы будете использовать в вашем GUI, будет определен в .scheme файле.

proVIDec 01.06.12 в 16:32

0

Также файл будет содержать информацию о других скриптах, описанных ниже.

proVIDec 01.06.12 в 16:39

0

В последующих туториалах этот файл будет описан более подробно.

proVIDec 01.06.12 в 16:41

0

Ниже приведен пример, можете пробежаться по нему глазами:

proVIDec 01.06.12 в 16:45

0

Следующий вид скриптов о котором мы будем говорить - разметка (*.layout).

proVIDec 01.06.12 в 16:31

0

Это также xml файл, который определяет разметку (вполне очевидно) окна, которое нужно отобразить на экране.

proVIDec 01.06.12 в 17:12

0

К примеру, если мы хотим создать окно чата, то где-нибудь у нас должен быть файл ChatWindow.layout.

proVIDec 01.06.12 в 17:13

0

Там будет описано как окно будет выглядеть (насколько оно будет большое, где на экране будет расположено и т.д.), где внутри этого окна будет поле для ввода сообщения, а где кнопка "отправить".

proVIDec 01.06.12 в 17:15

0

Ниже приведен пример того, как примерно выглядит .layout файл:

proVIDec 01.06.12 в 16:02

0

Другой вид скриптов, о котором стоит упомянуть - это шрифты (*.font).

proVIDec 01.06.12 в 16:04

0

С помощью него описываются шрифты, которые вы будете использовать. Ниже пример:

proVIDec 01.06.12 в 16:08

0

Еще один не менее важный вид скриптов - Imageset (*.imageset).

proVIDec 01.06.12 в 16:07

0

В файлах этого типа определяется визуальный образ каждого объекта.

proVIDec 01.06.12 в 16:13

0

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

proVIDec 01.06.12 в 16:17

0

К примеру, графическое представление обычной кнопки в .imageset будет некая позиция в изображении текстуры (*.png, *.bmp, *.jpg, и т.д.) с определенной высотой и шириной.

proVIDec 01.06.12 в 16:20

0
Минутку...

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