Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 11 лет назад пользователемАлександра Упырина
1 Тема: GUI - организация конвейера Докладчик: Николай Воронецкий
2 План Процесс разработки. Проблемы которые были. Описание системы (решение проблем). Редакторы. Реальный пример внедрения окна в игру. Докладчик: Николай Воронецкий
3 Процесс разработки 1.Описание функционала. 2.Рисование и описание окна. 3.Создание необходимых графических ресурсов. 4.Передача окна программисту. 5.Сборка и внедрение окна в игру. Докладчик: Николай Воронецкий
4 Проблемы которые были: Сложность создания графических ресурсов. Отсутствие визуального редактирования. Сложности с тестированием. Сборщик выполнял одну и ту же работу многократно Не было четкого разделения труда. Неудобство расширения библиотеки controls. Сильная зависимость между данными и кодом. Трудоемкость внедрения в игру. Невозможность использования вне проекта или движка. Докладчик: Николай Воронецкий
5 Решение проблем: Разработка простого способа создания новых controls FillProperties() FillEvents() FillChildren() Внутренняя логика работы Докладчик: Николай Воронецкий
6 Решение проблем: Внедрение контролов в редактор на уровне базового класса 1.RTTI - свойства. 2.Список обработчиков. 3.Дочерние компоненты. 4.Получение списков свойств и обработчиков. Докладчик: Николай Воронецкий
7 Решение проблем: Система шаблонов (готовых сборок) Шаблон – готовая сборка контролов применяющаяся более чем в одном месте. Шаблон – контрол без внутренней логики работы. Докладчик: Николай Воронецкий пример шаблона, его использование и вид в игре
8 Решение проблем: Изоляция системы GUI. Система сервисных классов (графика, звук и т.д.) Services –Render –Sound –Script –Input –Localization Докладчик: Николай Воронецкий
9 Решение проблем: Система обработчиков 1.Связь события и его обработчика на уровне данных. 2.Валидация связей. 3.Возможность протестировать не запуская игру. Докладчик: Николай Воронецкий
10 Решение проблем: Система свойств 1.Сужение интерфейса необходимого для изменения данных. BeginPropertiesChange(…); ChangeProperty(…); … ChangeProperty(…); EndPropertiesChange (…); 2.Стойкость к сбоям без ущерба для диагностики ошибок. 3.Возможность выполнения из скрипта. Докладчик: Николай Воронецкий
11 Решение проблем: Единый интерфейс взаимодействия GUI с внешним миром Язык общения с окнами GUI ведется в терминах игры. Система «Перевода». Докладчик: Николай Воронецкий Визуальная иллюстрация системы линков.
12 Решение проблем: Система графических ресурсов Простые картинки –прямоугольник с текстурой –описание свойств (растяжение, зеркальность наложения) Составные картинки –таблица –описание строк и столбцов растяжение, коэффициент растяжения –описание ячеек параметры тайлинга Докладчик: Николай Воронецкий
13 Решение проблем: Система графических ресурсов Докладчик: Николай Воронецкий Простая картинка Составная картинка
14 Решение проблем: Система графических ресурсов Докладчик: Николай Воронецкий Табличный вид составной картинки
15 Визуальный редактор 1.Сборка окон и шаблонов. 2.Задание обработчиков. 3.Отображение 1:1 как в игре. 4.Возможность протестировать собранное окно, не запуская игры. 5.Перевод терминов GUI в термины игры. 6.Буфер обмена. 7.Генерация игрового кода связки окна с игрой. 8.Проверка на целостность данных. Докладчик: Николай Воронецкий
16 Визуальный редактор Докладчик: Николай Воронецкий Картинка редактора
17 Пример внедрения в игру Докладчик: Николай Воронецкий Окно в редактореОкно в игре
18 Пример внедрения в игру GUI::BeginChangeProperties("UNIT_INFO"); GUI::ChangeProperty("armour_count", /* std::string */ ); GUI::ChangeProperty("armour_pbar_value", /* int */ ); GUI::ChangeProperty("defence_count", /* std::string */ ); GUI::ChangeProperty("defence_pbar_value", /* int */ ); GUI::ChangeProperty("pool_artefact_visible", /* bool */ ); … GUI::ChangeProperty("unit_artef3_icon", /* std::string */ ); GUI::ChangeProperty("unit_artef3_visible", /* bool */ ); GUI::ChangeProperty("unit_name", /* std::string */ ); GUI::EndChangeProperties(); Докладчик: Николай Воронецкий
19 Заключение –Экономия времени на разработку и внедрение. –Дальнейшее развитие системы. Докладчик: Николай Воронецкий
20 Спасибо за внимание Докладчик: Николай Воронецкий Вопросы?
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.