My:Abs

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

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

Менеджирование сцен

  • Создание окна древовидного списка сцен (добавление, перенос, переименование). Группировка списка сцен делается для удобства пользователя и не имеет отношения к логике взаимодействия сцен и лейаутов.
  • Задание размеров экрана (лейаута). Выбирается из списка. В список можно добавлять лейауты с указанием иих размеров. При установлении данного лейаута, появляется область редактирования, отмеченная рамкой с прямоугольной сеткой.
  • Создание новой сцены, задание ее размеров. Активная сцена отображается в виде рамки на лейауте. Начальное положение сцены по центру лейаута, затем она может быть мышью перемещена по нему. Для размера сцены по умолчанию используются параметры последней созданной сцены (последовательное создание однотипных сцен).
  • Создание окна опций с закладками (лейаут, сцена...). В опциях сетка вкл/выкл., задается ширина и высота ячейки сетки; изменяется размер лейаута; размер текущей сцены.

Замечания

  • Все окна не модальные, находящиеся поверх приложения; за основу взять интерфейс любого граф.редактора (flash и т.п.)
  • Внутри сцены может быть размещена другая сцена (древесная иерархия вложенности); координаты сцен относительно их родителя.
  • В активной сцене можно просмотреть список подсцен и объектов которые с ними связаны.
  • На лейауте может находиться несколько сцен.
  • Одна и та же сцена может находиться на разных лейаутах в различных местах.
  • У сцены кроме уникального имени есть ее тип ("поисковая область", "инвентарь" и т.п.). Тип выбирается из listbox-а и может быть туда добавлен. Тип нужен для групповых операций. Например задать одинаковые координаты в лейауте всем сценам данного типа.
  • Каждая корневая (лежащая на лейауте) сцена помнит свои положения на лейаутах различного типа, на которых она "просматривалась".

Простой редактор

  • Перетаскивание из редактора ресурсов (РР) одного объекта на сцену. Если координаты объекта не определены, по умолчанию центрируется относительно сцены
  • Перетаскивание на сцену папки - группы объектов.
  • Вокруг объектов на сцене рисуются рамки (откл/вкл в опциях).
  • При клике на объкт появляется рамка другого цвета (активный объект). Этот объкт можно двигать мышкой по сцене.
  • У каждого объекта есть тип и зависящие от типа свойства. Тип и свойства интерпретируются вьювером, поэтому жестко заданы (не добавляются пользователем).
  • У каждого следующего добавляемого объекта тип устанавливается по у молчанию как у предыдущего. У активного могут быть изменены.
  • Базовые типы:
    • фон (или интерьер) - на события не реагирует
    • поисковый - при клике объект у него увеличивается счетчик кликов. Если помечена галочка "удалять" - удаляется со сцены (становится невидимым). У поискового объекта может быть указана сцена и объект на этой сцене с которым данный поисковый объект связан. Интерпретируется вьювером (например, связь поискового объекта и инвентаря).
    • контрол - объект обладающий способностью самостоятельно обрабатывать события (типа регулятора громкости, чекбокса и т.п.). При изменении состояния контрола во вьювере будет вызываться событийная функция, которой передается имя контрола и его состояние, которая это изменение обрабатывает. В дальнейшем, возможно, переход на скриптовую обработку.
    • дверь - при клике на объект открывается другая сцена. С объектом связывается ее имя. Возможны два режима:
      • текущая сцена закрывается, новая открывается
      • новая открывается поверх старой в режиме модального окна
  • У каждой сцены есть поле - имя сцены которую надо вызвать, если "миссия выполнена". Что это значит интерпретируется вьювером (например, кликнуты все поисковые объекты)

Простой вьювер

  • Реализовать обработку - проигрование текущей сцены и связанной с ней дверями других сцен.
  • При открытии сцены счетчики кликов поисковых объектов обнуляются. Если все объекты типа поисковые имеют по одному клику (и/или убраны) - сцена закрывается. Если не указана последующая сцена приложение закрывается. Иначе открывается эта сцена.
  • Реализовать на простой интерфейс и упрощенную игру типа Mysteriez.