Тема: GUI - организация конвейера Докладчик: Николай Воронецкий.

Презентация:



Advertisements
Похожие презентации
Пользовательский интерфейс для нескольких проектов Александр Веселов.
Advertisements

Первый опыт внедрения WPF в сложной системе (С++ и COM) Михаил Павлов Transas.
Тема 5. Введение в среду визуального программирования Borland Delphi 7.0.
Объектно-ориентированное программирование Основы языка программирования Lazarus.
РАЗРАБОТКА КЛИЕНТСКОГО ПРИЛОЖЕНИЯ ИНФОРМАЦИОННОЙ СИСТЕМЫ ТОРГОВОГО ПРЕДПРИЯТИЯ Баранок А.В.
Симпозиум 2008 Сергей Шутов, ДИМАС Борис Егоров, Интерсистемс Практика использования Zen и Прототип-6.
Toolset: управляй мечтой Докладчик Смирнов Олег, Dagor Technologies.
Универсальный редактор для нескольких проектов Мельников Михаил.
БЭСТ Дизайнер проектов Введение Концепции Основные понятия.
Программирование Практическое занятие 1. Курсовой проект Программное приложение Пояснительная записка Выполнение курсового проекта требует не только создание.
Автоматизированная информационная система консолидированной отчетности с использованием интернет-технологий «CORONA»
Простая автоматизация бизнес-процессов с помощью Microsoft InfoPath На базе Microsoft Share Point Portal Server И DocsVision Share Point Edition Докладчик.
ParaCon Система параллельного программирования на основе типовых алгоритмических структур Истомин Тимофей Научный руководитель: д.ф-м.н. Берзигияров П.К.
Группа компаний APPIUS , Россия, Москва, Старопетровский проезд, д.7а Телефон/факс: +7(495) ,
Выбор учебного года Создание раскрывающихся списков Формирование условия поиска и фильтрация данных Строка меню Определение количества учащихся занимающихся.
Расширение интерфейсных возможностей Московец Олег Александрович, Ведущий аналитик ЦИТК «Парус»
Учебный курс Технологии и средства разработки корпоративных систем Лекция 5 Создание графического интерфейса пользователя Лекции читает кандидат технических.
Сергей Сыроежкин Бизнес-аналитик, консультант В рамках курса лекций: «Разработка требований к программному обеспечению», мехмат, БГУ Спецификация.
Текстовый процессор Word. Возможности программы Word 1. Работа с текстами: ввод текста; редактирование текста; форматирование текста (изменение параметров.
ОГЛАВЛЕНИЕ Разделы Страницы День Введение в MSC.Mvision Builder and Evaluator MSC.Mvision – база данных, содержащая свойства материалов………………………………………………………………………………………………
Транксрипт:

Тема: GUI - организация конвейера Докладчик: Николай Воронецкий

План Процесс разработки. Проблемы которые были. Описание системы (решение проблем). Редакторы. Реальный пример внедрения окна в игру. Докладчик: Николай Воронецкий

Процесс разработки 1.Описание функционала. 2.Рисование и описание окна. 3.Создание необходимых графических ресурсов. 4.Передача окна программисту. 5.Сборка и внедрение окна в игру. Докладчик: Николай Воронецкий

Проблемы которые были: Сложность создания графических ресурсов. Отсутствие визуального редактирования. Сложности с тестированием. Сборщик выполнял одну и ту же работу многократно Не было четкого разделения труда. Неудобство расширения библиотеки controls. Сильная зависимость между данными и кодом. Трудоемкость внедрения в игру. Невозможность использования вне проекта или движка. Докладчик: Николай Воронецкий

Решение проблем: Разработка простого способа создания новых controls FillProperties() FillEvents() FillChildren() Внутренняя логика работы Докладчик: Николай Воронецкий

Решение проблем: Внедрение контролов в редактор на уровне базового класса 1.RTTI - свойства. 2.Список обработчиков. 3.Дочерние компоненты. 4.Получение списков свойств и обработчиков. Докладчик: Николай Воронецкий

Решение проблем: Система шаблонов (готовых сборок) Шаблон – готовая сборка контролов применяющаяся более чем в одном месте. Шаблон – контрол без внутренней логики работы. Докладчик: Николай Воронецкий пример шаблона, его использование и вид в игре

Решение проблем: Изоляция системы GUI. Система сервисных классов (графика, звук и т.д.) Services –Render –Sound –Script –Input –Localization Докладчик: Николай Воронецкий

Решение проблем: Система обработчиков 1.Связь события и его обработчика на уровне данных. 2.Валидация связей. 3.Возможность протестировать не запуская игру. Докладчик: Николай Воронецкий

Решение проблем: Система свойств 1.Сужение интерфейса необходимого для изменения данных. BeginPropertiesChange(…); ChangeProperty(…); … ChangeProperty(…); EndPropertiesChange (…); 2.Стойкость к сбоям без ущерба для диагностики ошибок. 3.Возможность выполнения из скрипта. Докладчик: Николай Воронецкий

Решение проблем: Единый интерфейс взаимодействия GUI с внешним миром Язык общения с окнами GUI ведется в терминах игры. Система «Перевода». Докладчик: Николай Воронецкий Визуальная иллюстрация системы линков.

Решение проблем: Система графических ресурсов Простые картинки –прямоугольник с текстурой –описание свойств (растяжение, зеркальность наложения) Составные картинки –таблица –описание строк и столбцов растяжение, коэффициент растяжения –описание ячеек параметры тайлинга Докладчик: Николай Воронецкий

Решение проблем: Система графических ресурсов Докладчик: Николай Воронецкий Простая картинка Составная картинка

Решение проблем: Система графических ресурсов Докладчик: Николай Воронецкий Табличный вид составной картинки

Визуальный редактор 1.Сборка окон и шаблонов. 2.Задание обработчиков. 3.Отображение 1:1 как в игре. 4.Возможность протестировать собранное окно, не запуская игры. 5.Перевод терминов GUI в термины игры. 6.Буфер обмена. 7.Генерация игрового кода связки окна с игрой. 8.Проверка на целостность данных. Докладчик: Николай Воронецкий

Визуальный редактор Докладчик: Николай Воронецкий Картинка редактора

Пример внедрения в игру Докладчик: Николай Воронецкий Окно в редактореОкно в игре

Пример внедрения в игру 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(); Докладчик: Николай Воронецкий

Заключение –Экономия времени на разработку и внедрение. –Дальнейшее развитие системы. Докладчик: Николай Воронецкий

Спасибо за внимание Докладчик: Николай Воронецкий Вопросы?