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

Материал из wiki.appsalutecreator.com
Перейти к: навигация, поиск
(Пример)
(Примечания)
Строка 65: Строка 65:
  
 
* Зачастую необходимо знать есть ли хидден-объект на сцене. Проверить это можно по параметру "vis".
 
* Зачастую необходимо знать есть ли хидден-объект на сцене. Проверить это можно по параметру "vis".
 +
 +
* Пусть у Ваших хидден-объектов один общий актер. В момент нахождение хидден-объекта он передает актёру состояние '''show'''. И пусть в этом состоянии вы считываете координаты гостя (т.е. хидден-объекта), чтобы с того места, к примеру, запустить флаер, машину или что-то еще. '''Так вот этого делать нельзя!''' В результате при следующем посещении экрана Вы увидите, что у хидден-объектов изменились координаты. Дело в некоторой архитектурной проблеме. Выход есть. Перед запуском актёра нужно ставить ему параметры  '''hox''' и '''hoy''', обозначающие координаты объекта его запустившего. Т.е. актёр вместо вычитки координат гостя (хидден-объекта)будет сам у себя читать вышеупомянутые параметры.
  
 
== Добавляемые параметры ==
 
== Добавляемые параметры ==

Версия 13:20, 9 сентября 2014

HiddenObject - поисковый объект на сцене в хидден-игре. Добавив из редактора ресурсов на сцену картинку поискового предмета, мы изменяем его тип на hiddenObject.
Можно применить групповое изменение типа, выделив с помощью "Shift" или "Ctrl" группу картинок.
Все хидден-объекты должны быть подключены к объекту с типом HiddenList.

Общие параметры

(см. описание Object)

  • имя ( nm ) - Имя объекта HiddenObject в дереве проекта. Может быт произвольным.
  • id-объекта - Уникальный номер объекта HiddenObject, который можно увидеть в строке "имя" либо при наведении курсора на неё.
  • синхронизация ( sync ) - Применяется для синхронизации между лейаутами. Если указан параметр "нет", то объект будет активен только на текущем лейауте. По умолчанию указан параметр "да".
  • сохранение параметров ( sv ) - Настройка этого параметра актуальна, если приложение в дальнейшем будет сворачиваться в системную панель («трей»). Выбирается значение этого параметра из выпадающего списка. Возможны следующие варианты: "нет", "только объект", "объект с подобъектами", "только подобъекты". При выходе из трэя будут восстановлены ранее измененные/установленные (при переходе с одного экрана на другой)параметры объектов или подобъектов в зависимости от выбранного варианта для этого параметра. По умолчанию указан параметр "нет". Следует помнить, что если выбирается для объекта некоторой сцены значения этого параметра отличное от "нет", то должно и предусматриваться соответствующее значение этого параметра и для этой сцены, и для экрана, содержащего эту сцену.
  • z ( z ) - Параметр порядка рисования объекта. Сначала рисуются объекты с большим z, затем, поверх них - с меньшим.
  • память ( memo ):
1 - при повторном открытии экрана объект не обновляет свои параметры (помнит текущие параметры, оставшиеся от предыдущего посещения экрана);
0 - обновит свои параметры, при повторном открытии экрана.

Основные параметры

Hid ob1.jpg
  • картинка ( res ) - Графический ресурс хидден-объекта. Перетаскивается мышкой из редактора ресурсов (поле должно быть в состоянии редактирования).
  • текстID ( txtID ) - Название хидден-объекта, которое будет отображаться в таблице. Перетаскивается мышкой из текстового редактора (поле должно быть в состоянии редактирования).
  • текст ( txt ) - При отсутствии ТекстID в таблице будет отображаться этот текст.
  • list ( lst ) - Ссылка на HiddenList, к которому будет подключен объект.
  • actor ( actor ) - Анимация (машина состояний), которая запустится после нахождения объекта. В этой машине состояний должно быть обязательно состояние show, в котором будет описана, например, анимация полёта актёра.
  • flayer ( fl ) - Объект типа flyers, который запустится при клике на спрятанный объект. Можно указывать машину с состоянием "beg".
  • тип ( kind ) - Номер типа объекта. Используется при выставленном ограничении в HiddenList (поле [одного типа]).
  • обязательный ( forced ):
1 - объект всегда будет в списке на поиск;
0 - обычный объект ( может попасть в список, а может и не попасть).
  • выделение цветом ( colored ):
1 - на объект будут распространяться выделения цветом (цвет указывается в HiddenList);
0 - не будет распространяться.
  • предпочитаемый ( preferred ):
да - объект является предпочитаемым (используется при исключении объектов с одинаковыми textID);
нет - не является.
  • сессия ( ses ) - Сессия, в которой должен появиться объект ( по умолчанию = "-1").
  • набор ( kit ) - Набор, к которому принадлежит объект. Принимает значения 1, 2, 3 и т.д. Указывается в HiddenList.
  • collection ( col ) - Объект типа Collection, к которому относится данный объект. Если объект не коллекционный - просто не задавать.
  • прокликиваемость ( passClk ):
0 - объект сам обрабатывает клик и не пропускает его дальше;
1 - объект прозрачен для клика мышкой (пропускает объектам под ним);
2 - объект сам обрабатывает клик, но и пропускает его дальше".

Выделив более 2-х хидден объектов у нас будут параметры группового изменения. Таким образом мы легко можем выставить прокликиваемость или один HiddenList всем нашим объекам сразу!

Состояния объекта

У хидден объекта есть состояния, которыми можно управлять с помощью машин. Также можно отслеживать, в каком сейчас состоянии находится хидден-объект. Доступны следующие состояния которые можем использовать:

wait - находиться на сцене и ожидает события;
raise - после клика объект поднимается вверх и увеличивается;
fly - объект летит к цели, вращаясь и уменьшаясь;
find - можно передавать с помощью разных объектов, сообщает хиддену что он найден (имитировать клик на объекте).

Примечания

  • Актёры нужны тогда, когда отличается графика объекта, который непосредственно находится на сцене и который летит к таблице. Это может быть случай, когда на сцене лежит часть объекта, а летит целый. Или же на сцене - с тенью, а летит - без.
  • Заполнение таблицы "обязательными" объектами происходит построчно слева направо случайным образом. Если такой "обязательный" объект для хидден-листа один, то он всегда будет находиться в левом верхнем углу.
  • Для минимализации действий и затрачиваемого времени желательно применять к хидден-объектам групповое изменение параметров (клавишами crl или shift). Т.е. добавили из базы ресурсов хидден-картинки => Все их выделили => И один раз задали им тип "HiddenObject", хидден-лист, флаер нахождения, добавляемые параметры и т.д.
  • Зачастую необходимо знать есть ли хидден-объект на сцене. Проверить это можно по параметру "vis".
  • Пусть у Ваших хидден-объектов один общий актер. В момент нахождение хидден-объекта он передает актёру состояние show. И пусть в этом состоянии вы считываете координаты гостя (т.е. хидден-объекта), чтобы с того места, к примеру, запустить флаер, машину или что-то еще. Так вот этого делать нельзя! В результате при следующем посещении экрана Вы увидите, что у хидден-объектов изменились координаты. Дело в некоторой архитектурной проблеме. Выход есть. Перед запуском актёра нужно ставить ему параметры hox и hoy, обозначающие координаты объекта его запустившего. Т.е. актёр вместо вычитки координат гостя (хидден-объекта)будет сам у себя читать вышеупомянутые параметры.

Добавляемые параметры

Hid ob 2.jpg

+.pngДополнительная коллекция ( add_col ) - используется в случае, если объекту нужно относиться более чем к одной:

id ( col ) - Объект типа коллекция, к которому относится данный объект.


+.pngсвязанный объект ( addLnkObj ) - Связанный объект на противоположном фоне при поиске различий:

связанный объект ( lnkObj ) - Связанный объект на противоположном фоне при поиске различий.


+.pngизменить параметр объекта ( chg ) - При нахождении объекта изменить параметр объекта:

объект ( obj ) - При нахождении объекта этот объект меняет свой параметр;
свойство ( par ) - Параметр, который мы изменяем;
значение ( val ) - Новое значение параметра.


+.pngизменить состояние объекта ( nst ) - При нахождении объекта перевести объект в новое состояние:

объект ( obj ) - При нахождении объекта перевести объект в состояние из следующего поля;
состояние ( st ) - Новое состояние для объекта из предыдущего поля.


+.pngклик на найденный хидден: ( chgComp ) изменить параметр объекта:

объект ( obj ) - Объект, параметр которого нужно изменить;
параметр ( par ) - Параметр, которое нужно изменить;
значение ( val ) - Новое значение параметра.


+.pngклик на найденный хидден: ( nstComp ) изменить состояние объекта:

объект ( obj ) - Объект, состояние которого нужно изменить;
состояние ( st ) - Новое состояние объекта.


+.pngобъект вернулся на место через putback: ( chgPb ) изменить параметр объекта:

объект ( obj ) - Объект, параметр которого нужно изменить;
параметр ( par ) - Параметр, которое нужно изменить;
значение ( val ) - Новое значение параметра.


+.pngобъект вернулся на место через putback: ( nstPb ) изменить состояние объекта:

объект ( obj ) - Объект, состояние которого нужно изменить;
состояние ( st ) - Новое состояние объекта.


+.pngобъект появился как новый объект: изменить состояние объекта ( ):

объект ( obj ) - Объект, состояние которого нужно изменить;
состояние ( st ) - Новое состояние объекта.

Пример