My:Abs — различия между версиями

Материал из synset
Перейти к: навигация, поиск
(Менеджирование сцен)
(Менеджирование сцен)
Строка 7: Строка 7:
  
 
* Создание окна древовидного списка сцен (добавление, перенос, переименование).
 
* Создание окна древовидного списка сцен (добавление, перенос, переименование).
*  Задание размеров экрана (лейаута). Выбирается из списка. В список можно добавлять лейауты. Появляется область редактирования, отмеченная рамкой с прямоугольной сеткой.
+
*  Задание размеров экрана (лейаута). Выбирается из списка. В список можно добавлять лейауты с указанием иих размеров. При установлении данного лейаута, появляется область редактирования, отмеченная рамкой с прямоугольной сеткой.
* Создание новой сцены, задание ее размеров. Активная сцена отображается в виде рамки на лейауте. Начальное положение по центру лейаута, затем может быть перемещена по нему. Для размера сцены по умолчанию используются параметры последней созданной.
+
* Создание новой сцены, задание ее размеров. Активная сцена отображается в виде рамки на лейауте. Начальное положение сцены по центру лейаута, затем она может быть мышью перемещена по нему. Для размера сцены по умолчанию используются параметры последней созданной сцены (последовательное создание однотипных сцен).
* Окно опций с закладками (лейаут, сцена...). В опциях сетка вкл/выкл., задается ширина и высота ячейки сетки; изменяется размер лейаута; размер текущей сцены
+
* Создание окна опций с закладками (лейаут, сцена...). В опциях сетка вкл/выкл., задается ширина и высота ячейки сетки; изменяется размер лейаута; размер текущей сцены.
  
 
=== Замечания ===
 
=== Замечания ===
  
 
* Все окна не модальные, находящиеся поверх приложения; за основу взять интерфейс любого граф.редактора (flash и т.п.)
 
* Все окна не модальные, находящиеся поверх приложения; за основу взять интерфейс любого граф.редактора (flash и т.п.)
* Группировка списка сцен делается для удобства пользователя и не имеет отношения к логике взаимодействия сцен и лейаутов.
+
* Группировка списка сцен делается для удобства пользователя и не имеет отношения к логике взаимодействия сцен и лейаутов.  
* Внутри сцены может быть размещена другая сцена (древесная иерархия вложенности); координаты сцен относительно их родителя
+
* Внутри сцены может быть размещена другая сцена (древесная иерархия вложенности); координаты сцен относительно их родителя.
 +
* В активной сцене можно просмотреть список подсцен и объектов которые с ними связаны.
 
* На лейауте может находиться несколько сцен.
 
* На лейауте может находиться несколько сцен.
 
* Одна и та же сцена может находиться на разных лейаутах в различных местах.
 
* Одна и та же сцена может находиться на разных лейаутах в различных местах.

Версия 10:06, 5 августа 2011

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

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

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

Замечания

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

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

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

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

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