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

Материал из synset
Перейти к: навигация, поиск
(Редактирование объектов и их свойства)
Строка 1: Строка 1:
 
{{TOCright}}
 
{{TOCright}}
  
Список начальных задач для редактора уровней.  
+
Лейауты являются различными вариантами геометрических размеров экранов устройств.
Необходимо этот список откорректировать, расширить и проставить ориентировочные сроки выполнения задач.
+
Возможны ситуации:
 +
* Лейауты отличаются шириной и/или высотой
 +
* только ориентацией (вертикальная-горизонтальная)
 +
* маштабом (ширина и высота отличается в 2 раза)
  
==  Менеджирование сцен ==
+
Сцены и объекты на лейаутах могут быть в следующих ситуациях:
 +
* Сцена на всех лейаутах имеет одинаковое расположение объектов,
 +
но различные координаты на экране и различный масштаб (например, поисковая сцена).
 +
* Сцена и объекты на на ней имеют различное положение (например, элементы интерфейса)
 +
* Разный состав объектов на сцене в разных лейаутах
 +
(например, "бревна" разного вида для растяжения экрана, отсутствие некоторой кнопки и т.д.).
  
* Создание окна древовидного списка сцен (добавление, перенос, переименование). Группировка списка сцен делается для удобства пользователя и не имеет отношения к логике взаимодействия сцен и лейаутов.
 
*  Задание размеров экрана (лейаута). Выбирается из списка. В список можно добавлять лейауты с указанием их размеров. При установлении данного лейаута, появляется область редактирования, отмеченная рамкой с прямоугольной сеткой.
 
* Создание новой сцены, задание ее размеров. Активная сцена отображается в виде рамки на лейауте. Начальное положение сцены по центру лейаута, затем она может быть мышью перемещена по нему. Для размера сцены по умолчанию используются параметры последней созданной сцены (последовательное создание однотипных сцен).
 
* Создание окна опций с закладками (лейаут, сцена...). В опциях сетка вкл/выкл., задается ширина и высота ячейки сетки; изменяется размер лейаута; размер текущей сцены.
 
  
=== Замечания ===
+
1. Все типы лейаутов сразу заданы (кол-во 2-6).
 +
Если нужно добавить лейаут в готовый проект, это осуществляется копированием уже существующего.
  
* Все окна не модальные, находящиеся поверх приложения; за основу взять интерфейс любого граф.редактора (flash и т.п.)
+
2. При создании сцены
* Внутри сцены может быть размещена другая сцена (древесная иерархия вложенности); координаты сцен относительно их родителя.
 
* В активной сцене можно просмотреть список подсцен и объектов которые с ними связаны.
 
* На лейауте может находиться несколько сцен.
 
* Одна и та же сцена может находиться на разных лейаутах в различных местах.
 
* У сцены кроме уникального имени есть ее тип ("поисковая область", "инвентарь" и т.п.). Тип выбирается из listbox-а и может быть туда добавлен. Тип нужен для групповых операций. Например задать одинаковые координаты в лейауте всем сценам данного типа.
 
* Каждая корневая (лежащая на лейауте) сцена помнит свои положения на лейаутах различного типа, на которых она "просматривалась".
 
 
 
== Простой редактор ==
 
 
 
* Перетаскивание из редактора ресурсов (РР) одного объекта на сцену. Если координаты объекта не определены, по умолчанию центрируется относительно сцены
 
* Перетаскивание на сцену папки - группы объектов.
 
* Вокруг объектов на сцене рисуются рамки (откл/вкл в опциях).
 
* При клике на объект появляется рамка другого цвета (активный объект). Этот объект можно двигать мышкой по сцене.
 
* У каждого объекта есть тип и зависящие от типа свойства. Тип и свойства интерпретируются вьювером, поэтому жестко заданы (не добавляются пользователем).
 
* У каждого следующего добавляемого объекта тип устанавливается по умолчанию как у предыдущего. У активного могут быть изменены.
 
* '''Базовые типы''':
 
** '''фон''' (или интерьер) - на события не реагирует
 
** '''поисковый''' - при клике объект у него увеличивается счетчик кликов. Если помечена галочка "удалять" - удаляется со сцены (становится невидимым). У поискового объекта может быть указана сцена и объект на этой сцене с которым данный поисковый объект связан. Интерпретируется вьювером (например, связь поискового объекта и инвентаря).
 
** '''контрол''' - объект обладающий способностью самостоятельно обрабатывать события (типа регулятора громкости, чекбокса и т.п.). При изменении состояния контрола во вьювере будет вызываться событийная функция, которой передается имя контрола и его состояние, которая это изменение обрабатывает. В дальнейшем, возможно, переход на скриптовую обработку.
 
** '''дверь''' - при клике на объект открывается другая сцена. С объектом связывается ее имя. Возможны два режима:
 
*** текущая сцена закрывается, новая открывается
 
*** новая открывается поверх старой в режиме модального окна
 
*  У каждой сцены есть поле - имя сцены которую надо вызвать, если "миссия выполнена". Что это значит интерпретируется вьювером (например, кликнуты все поисковые объекты)
 
 
 
== Простой вьювер ==
 
 
 
* Реализовать обработку - проигрование текущей сцены и связанной с ней дверями других сцен.
 
* При открытии сцены счетчики кликов поисковых объектов обнуляются. Если все объекты типа поисковые имеют по одному клику (и/или убраны) - сцена закрывается. Если не указана последующая сцена приложение закрывается. Иначе открывается эта сцена.
 
* Реализовать на простой интерфейс и упрощенную игру типа Mysteriez.
 
 
 
== Дополнения ==
 
* Типы лейаутов определены в layouts.xml.
 
* РР - текстовые метки на различных языках (для списка поисковых предметов)
 
 
 
=== Свойства сцены: ===
 
* ширина, высота.
 
* цвет подложки (экрана) на котором она рисуется (по умолчанию равен цвету родителя, для корневых сцен - цвету лейаута)
 
* способ проявления сцены на подложке: время t проявления по alpha=x до y ...
 
* способ исчезания сцены на подложке: время t исчезания по alpha=x до y ...
 
* время жизни сцены, по истечении которой она закрывается. Указывается сцена куда надо перейти.
 
* растягиваемость или нет сцены пальцами (для окон с поиском хиден объектов)
 
* имя сцены (например, с прогресс баром), которую надо показывать, пока происходит загрузка сцены.
 
 
 
Список объектов и подсцен, связанных со сценой можно увидеть как в результате обводки их рамкой, так и в виде списка имён.
 
 
 
=== Редактирование объектов и их свойства ===
 
* Перетаскивание выделенного объекта по сцене мышкой или его смещение клавишами курсора (тонкая настройка - по пиксельно)
 
* Центрирование (отдельно по вертикали и горизонтали относительно сцены)
 
* Множественная пометка (перетаскивание, центрирование группы объектов)
 
 
 
Поисковый объект имеет свойства:
 
* тип (для групповых операций)
 
* удалять или нет со сцены (становится невидимым).
 
* сцена и объект на этой сцене с которым данный поисковый объект связан (например, связь поискового объекта и инвентаря).
 
* способ связи - связанный объект меняет своё состояние (изменяется его фрейм или он исчезает)
 
* имя анимированного объекта для отображения партиклов (разлетающиеся буковки, звездочки и т.п.)
 
* параметры партиклов (количество, скорость, время ...)
 
 
 
=== Контролы ===
 
Контролы умеют самостоятельно и по различному реагировать на действия пользователя.
 
Кроме этого, в зависимости от типа контрола, может быть указано одно из его фиксированных действий, возникающих при взаимодействии с контролом. Если такое действие не указано, вызывается
 
функция - обработчик событий, которой передаётся имя контрола и его изменённое состояние.
 
 
 
* '''Button''' - анимированный объект в редакторе ресурсов - от одного до 3-х фреймов (normal, down, over). Имеет стандартное кнопочное поведение.
 
** Кнопка может быть дверью: задаётся имя сцены и способ перехода на неё (модальный или полный переход).
 
** Кнопка может содержать вместо имени сцены web адрес http://..., тогда при клике на кнопку запускается браузер по умолчанию.
 
* '''Checkbox''' - отключение звука, не показывать больше окно...
 
* '''Ползунок''' - настройка громкости звука, музыки и т.п.
 
* '''Прогресс бар'''
 
* '''Image List''' линейный (горизонтальный, вертикальный или круговой) список картинок. Например, для выбора пака, окна More Games и т.д. При клике происходит реакция подобная кнопке.
 
* '''Таблица''' - для отображения очков, глобальной таблицы результатов и т.п.
 
* '''Часы''' - могут идти вперед и назад. указывается начальное и конечное время. Активны, пока сцена открыта.
 

Версия 08:36, 10 сентября 2011

Лейауты являются различными вариантами геометрических размеров экранов устройств. Возможны ситуации:

  • Лейауты отличаются шириной и/или высотой
  • только ориентацией (вертикальная-горизонтальная)
  • маштабом (ширина и высота отличается в 2 раза)

Сцены и объекты на лейаутах могут быть в следующих ситуациях:

  • Сцена на всех лейаутах имеет одинаковое расположение объектов,

но различные координаты на экране и различный масштаб (например, поисковая сцена).

  • Сцена и объекты на на ней имеют различное положение (например, элементы интерфейса)
  • Разный состав объектов на сцене в разных лейаутах

(например, "бревна" разного вида для растяжения экрана, отсутствие некоторой кнопки и т.д.).


1. Все типы лейаутов сразу заданы (кол-во 2-6). Если нужно добавить лейаут в готовый проект, это осуществляется копированием уже существующего.

2. При создании сцены