My:Abs

Материал из synset
Версия от 20:35, 21 июля 2011; WikiSysop (обсуждение | вклад) (Слияние баз ресурсов)
Перейти к: навигация, поиск

В хидене присутствует статический фон и объекты. Объекты могут быть:

  • статически "вплетены" в фон (подобно Mysteriez) и необходимо только задание области для клика на них.
  • всегда быть в одном и том-же месте, но удаляться при клике (отделяться от бекграунда)
  • менять своё положение в одной и той же сцене
  • использоваться в различных сценах (наборы их координат задаются в редакторе сцены).

В данной игровой сессии объекты могут быть не "кликательными" и быть составной фона, в другой "кликательными". У объектов могут быть различный z-порядок.

Редактор ресурсов

Редактор ресурсов является самостоятельным приложением которое хранит и менеждирует все графические ресурсы проекта (бекграунды, небольшие картинки, анимированные клипы). Со временем должен стать универсальным инструментом для различных задач фреймворка. Сам по себе он не является редактором сцен, так как подобный редактор зависит от типа игры. Решает задачу уникальности имён объектов. Но не решает проблемы создания атласа текстур (так как ни чего не знает о расшаривании).

Перенесение объектов в другие модули=приложения (редактор сцены, редактор интерфейса) осуществляется по drag-and-drop. При этом "переносится" информация о ресурсе, но не сами графические файлы.

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

Такая модульная архитектура даёт гибкость, но есть проблема обеспечения целостности графических и логических структур. Например, если некоторый объект удаляется из редактора ресурсов, редакторы сцен или интерфейса которые его используют об этом ни чего нем знают. Возможное решение - счётчик числа использований ресурса (подобно менеджеру памяти). Сообщения о использовании ресурса или его освобождении другими приложениями могут посылаться, например, по TCP протоколу.

Загрузка графики

Open graph res.jpg

Можно загружать различные виды сырых графических ресурсов. Их тип указывается в окне загрузки:

  • Отдельный файл с неопределёнными координатами.
  • Все файлы из директории в различных режимах:
    • Однотипные кадры анимации, сразу группируются в объект.
    • Фон и объекты на нём в виде отдельных файлов одинакового размера. Те файлы которые могут быть обрезаны интерпретируются как объекты. Запоминаются их координаты относительно исходного размера и имя бекраунда (необрезаемого файла) с которым они были связаны (пригодится).

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

Имена ресурсов

Все ресурсы имеют уникальные текстовые идентификаторы (имена). По умолчанию им присваивается имя файла. Если такое имя уже есть к нему добавляется порядковый номер.

После загрузки ресурсы могут переименованы (по-прежнему с контролем уникальности их имени).

Иерархическая группировка

ACDSee.jpg

Ресурсы группируются в древовидной структуре (подобно ACDSee Pro). Стоит использовать стандартные контролы (TreeView и т.п.):

  • Бекграунды
    • Спортивные
    • Офисы
  • Интерьеры
    • Столы
    • Шкафы
  • Объекты
    • Спортивный инвентарь
    • Кухонная утварь
    • Кнопки

Должна быть реализована процедура менеджирования (создания, удаления и т.п.) директорий. Их имена не обязаны быть уникальными (по крайней мере на отдельных ветвях дерева)

Графические ресурсы (отдельные битмапы и группы анимаций) могут быть помещены в любую директорию дерева. Можно пометить (мультипометка) список объектов и поддиректорий и удалить их (с переспрашиванием) или скопировав, перенести на другую ветвь дерева.

Список финальных объектов (битмапов и клипов) выводится в виде графического или текстового (настраивается) списка.

Настройка анимации

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

  • стартовый фрейм
  • скорость проигрывания анимации
  • задержка перед повторным проигрыванием (по умолчанию отсутствует).

В окне настройки и графическом древовидном списке анимированный объект себя проигрывает в соответствии с этими настройками.

В дальнейшем для других проектов этот раздел развивается.

Слияние баз ресурсов

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

Различные размеры одного ресурса