Skip to content

Latest commit

 

History

History
70 lines (55 loc) · 6.09 KB

File metadata and controls

70 lines (55 loc) · 6.09 KB

1. Цель проекта

Цель проекта - разработать программу для просмотра и редактирования файлов, отвечающих за визуализацию объектов на экране в играх компании Supercell.

2. Описание системы

Система состоит из следующих блоков:

  1. Импорт файлов
  2. Просмотр объектов
  3. Редактирование объектов
  4. Экспорт изображений, видео
  5. Экспорт файлов графики

2.1. Импорт файлов

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

2.2. Просмотр объектов

Программа должна отображать объект и информацию о нём при нажатии на него в таблице объектов, а также передвигаться по сцене, приближать или отдалять объект на сцене.

В структуре файлов есть следующие объекты:

  1. Shape (Фигура)
  2. MovieClip (объект анимации)
  3. TextField (Текстовое поле)
  4. SWFTexture (Текстура)

2.2.1. Просмотр фигуры

Вместе с просмотром фигуры должна быть возможность указать сетку, по которой она растягивается, это необходимо для просмотра так называемых "9-slice" фигур, также допускается редактирование этой сетки путём растягивания объекта по крайним/угловым точкам, но только в режиме просмотра.

Информация об этом объекте минимальная.

2.2.2. Просмотр анимации

Должно отрисовывать покадрово либо всю анимацию, либо её части по "Ключам" - именам кадров, в зависимости от типа выборки кадров.

Информация об этом объекте состоит из:

  1. Таблицы/списка детей
  2. Таблицы/списка кадров
  3. Таблицы детей кадра
  4. Тип выборки кадров
  5. Количества кадров в секунду

2.2.3. Просмотр текстового поля

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

Информация об объекте:

  1. Шрифт
  2. Размер шрифта
  3. Исходный текст
  4. Поддерживает ли несколько строк
  5. Свойства текста (жирный, курсив)

2.2.4. Просмотр текстур

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

2.3. Редактирование

Редактирование подразумевает создание новых и редактирование существующих объектов. Функционал данного блока включает в себя:

  1. Создать новый объект любого поддерживаемого типа
  2. Настройка свойств объекта, то бишь выбор какой это будет тег, в зависимости от того, какую информацию будет содержать объект, шрифт текстового поля, размер текста, количество FPS анимации и тому подобные.
  3. Добавление "детей" объекта созданием нового элемента таблицы кнопкой или перетаскиванием объекта из общего списка объектов в область "Детей" объекта или на сцену, удаление существующих
  4. Создание новых кадров, удаление существующих
  5. Изменение меша по точкам, их свободное передвижение
  6. Импорт текстур
  7. Самостоятельный выбор области текстуры, являющейся текстурой объекта

Должна быть возможность включить и выключить режим редактирования, эдакий "Безопасный режим", поддерживаемый только просмотр файла.

2.4. Экспорт изображений, видео

Программе нужно получить буфер изображения OpenGL один или более раз, зависимо от ситуации, и сохранить его в:

  1. PNG файл если это экспорт кадра или объекта, который не поддерживает анимацию.
  2. MP4/AVI или какой-либо другой видео-формат для объекта, который поддерживает анимацию

2.5 Экспорт файлов графики.

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