Collection — различия между версиями

Материал из wiki.appsalutecreator.com
Перейти к: навигация, поиск
 
(не показано 16 промежуточных версий 2 участников)
Строка 2: Строка 2:
 
== Общие положения ==
 
== Общие положения ==
  
Коллекция представляет из себя некий набор, в который могу попадать отдельные поисковые объекты, что дожно подчеркнуть их важность для игры.
+
Коллекция представляет из себя некий набор, в который могут попадать отдельные поисковые [[Object|объекты]], что должно подчеркнуть их важность для игры.<br>
Коллекция использует для отображения объектов таблицу [[Table]].
+
Для отображения объектов коллекция использует таблицу [[Table]]. Так примерно может выглядеть коллекция:<br>
Коллекция умеет сигнализировать о том, что в нее уже попало определенное количество объектов.
+
[[Файл:collection.jpg]]<br>
Коллекция может показывать все когда либо попавшие в нее объекты либо же объекты за последнюю сессию (уровень, сцену и т.п.). О начале новой сессии коллекции нужно сообщать установкой специального состояния (см. ниже)
+
Коллекция умеет сигнализировать о том, что в нее уже попало определенное количество объектов (отмечая их к примеру галочкой как это видно на скрине).
 +
Коллекция может показывать все объекты (можно использовать например в меню для отображения найденных и не найденных предетов) либо же объекты найденные за последнюю сессию,уровень,сцену и т.п. (например такую коллекцию можно использовать после прохождения уровня и в нее попадут объекты найденные за последнюю игру). О начале новой сессии коллекции нужно сообщать установкой специального состояния, иначе она будет хранить предметы. (см. ниже)
  
 
== Настройка коллекции ==
 
== Настройка коллекции ==
  
Принадлежность поисковых объектов [[HiddenObject]] к той либо иной коллекции определяется установкой им свойства '''collection''' (полностью аналогично тому, как для них устанавливается принадлежность к [[HiddenList]])
+
Если поисковый [[HiddenObject]] принадлежит к той либо иной коллекции то в поле '''collection''' нужно указать эту коллекцию (полностью аналогично тому, как для них устанавливается принадлежность к [[HiddenList]])
  
Очевидно, что тот факт, что объекты "видят" другие объекты только в том случае, когда они находятся на одном с ними экране либо на глобальном экране, накладывает ограничения на размещение объекта коллекция в редакторе сцен.
+
Коллекция обладает следующими настраиваемыми параметрами:
 +
* Общие для всех объектов положение, размер и т.п. не играют решающей роли, т.к. коллекция использует для отображения своего содержимого таблицу [[Table]].
 +
* '''рамка''' - графический ресурс, который будет отображаться поверх всех найденных объектов (зеленая галочка на скрине выше)
 +
* '''таблица''' - объект с типом [Table] используемой для отображения. Сама таблица настраивается также как и для [[HiddenList]]
 +
* '''показывать все''' - если 1 - показываются все объекты, относящиеся к данной коллекции;  0 - только найденные;
 +
* '''число объектов''' - количество объектов, которые должен собрать игрок, чтобы коллекция просигнализировала о своем наполнении(может изменить состояние какой либо машины, например)<br>
 +
правой кнопкой можем добавить<br>
  
Предложенный ниже прием не является обязательным, но позволяет решить связанные с такими ограничениями проблемы.
+
'''сбор: изменить состояние объекта'''<br>
* Коллекция и связанная с ней таблица (см. ниже) помещается в отдельную сцену.
+
'''сбор: изменить параметр объекта'''
* Сцена эта, в свою очередь, помещается в глобальный экран (это может быть тот же экран, в котором мы храним опции - неотображаемый)
 
* Эта сцена '''клонируется''' во все экраны, где требуется отображение коллекции.
 
Таки образом, реально везде будет использоваться '''один экземпляр коллекции''', а значит набор объектов в ней будет один и тот же
 
  
Коллекция обладает следующими настраиваемыми параметрами:
+
Коллекции можно устанавливать следующие состояния
* Общие для всех объектов положение, размер и т.п. не играюти решающей роли, т.к. коллекция использует для отображения своего содержимого таблицу [[Table]].
+
* '''all''' - показывать все объекты
* '''рамка''' - айди графического ресурса, который будет отображаться поверх всех найденных объектов
+
* '''session''' - показывать только объекты за последнюю сессию (если коллекция например находится в экране отображения очков где должны показываться предметы найденные в последней пройденной игре).  
* '''таблица''' - идентификатор таблицы используемой для отображения. Сама таблица настраивается также как и для [[HiddenList]]
+
* '''flush''' - начать новую сессию и перейти в состояние '''all''' (т.е. если после вызова flush коллекция очищается, если "показать все" = 0, то она будет пустой)
* '''показывать все''' - 1 - показываться все объекты, относящиеся к данной коллекции (использовать совместно с состоянием session бессмысленно),  0 - только найденные.
 
* '''число объектов''' - количество объектов, которые должен собрать игрок, чтобы коллекция просигнализировала о своем наполнении
 
* добавляемый блок '''сбор: изменить состояние объекта''' - после того как игрок соберет нужное число объектов объект '''объект''' будет переведен в состояние '''состояние'''
 
* добавляемый блок '''сбор: изменить параметр объекта''' - после того как игрок соберет нужное число объектов параметр '''свойство''' объекта '''объект''' будет установлен в значение '''значение'''
 
  
Коллекции можно устанавливать следующте состояния
+
[[Category:Game mechanic]]
* '''all''' - показывать все объекты
 
* '''session''' - показывать только объекты за последнюю сессию
 
* '''flush''' - начать новую сессию и перейти в состояние '''all''' ''(т.е. если после вызова flush перевести коллекцию в состояние session, то не будет отображаться ни один объект)''
 

Текущая версия на 10:05, 23 сентября 2014

Общие положения

Коллекция представляет из себя некий набор, в который могут попадать отдельные поисковые объекты, что должно подчеркнуть их важность для игры.
Для отображения объектов коллекция использует таблицу Table. Так примерно может выглядеть коллекция:
Collection.jpg
Коллекция умеет сигнализировать о том, что в нее уже попало определенное количество объектов (отмечая их к примеру галочкой как это видно на скрине). Коллекция может показывать все объекты (можно использовать например в меню для отображения найденных и не найденных предетов) либо же объекты найденные за последнюю сессию,уровень,сцену и т.п. (например такую коллекцию можно использовать после прохождения уровня и в нее попадут объекты найденные за последнюю игру). О начале новой сессии коллекции нужно сообщать установкой специального состояния, иначе она будет хранить предметы. (см. ниже)

Настройка коллекции

Если поисковый HiddenObject принадлежит к той либо иной коллекции то в поле collection нужно указать эту коллекцию (полностью аналогично тому, как для них устанавливается принадлежность к HiddenList)

Коллекция обладает следующими настраиваемыми параметрами:

  • Общие для всех объектов положение, размер и т.п. не играют решающей роли, т.к. коллекция использует для отображения своего содержимого таблицу Table.
  • рамка - графический ресурс, который будет отображаться поверх всех найденных объектов (зеленая галочка на скрине выше)
  • таблица - объект с типом [Table] используемой для отображения. Сама таблица настраивается также как и для HiddenList
  • показывать все - если 1 - показываются все объекты, относящиеся к данной коллекции; 0 - только найденные;
  • число объектов - количество объектов, которые должен собрать игрок, чтобы коллекция просигнализировала о своем наполнении(может изменить состояние какой либо машины, например)

правой кнопкой можем добавить

сбор: изменить состояние объекта
сбор: изменить параметр объекта

Коллекции можно устанавливать следующие состояния

  • all - показывать все объекты
  • session - показывать только объекты за последнюю сессию (если коллекция например находится в экране отображения очков где должны показываться предметы найденные в последней пройденной игре).
  • flush - начать новую сессию и перейти в состояние all (т.е. если после вызова flush коллекция очищается, если "показать все" = 0, то она будет пустой)