HiddenObject

Материал из wiki.appsalutecreator.com
Перейти к: навигация, поиск

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 act.jpg

  • Также в хидден-сценах можно осуществлять поиск логических пар, например мышь-мышеловка, лук-стрела и т. д. Важно чтобы два предмета, составляющие пару, находились на сцене вдвоем (пара считается найденной если игрок тапнул на один предмет пары и след. тапом тапнул второй предмет этой же пары). Также при использовании хинта подсвечиваются два предмета, составляющие одну пару.
Настройки: 
1) в парных объектах hiddenObject поле Тип (kind) должно быть одинаково;
2) в объекте hiddenList в группе Внешний вид включить настройку  “поиск пар”; 
3) актер помимо стандартных состояний fly и fly_end должен иметь состояние highlight - подсветка первого предмета в паре. 
4) для хинтования пары в объекте Hint  в хинте (искра) необходимо задать второй хвост и второй указатель (причем отличный от первого).

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

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 ) - Новое состояние объекта.

Пример