HiddenList

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

Общие сведения

HiddenList является менеджером поисковых объектов. Для корректного подсчета очков (если он требуется). HiddenList должен располагаться в дереве - ниже всех своих поисковых объектов. На сегодня HiddenList не просто управляет объектами на сцене, он отвечает за все штрафы, поощрения, а в связке с такими объектами как HiddenHint + Effect можно реализовать графические эффекты: "ночь", "трансформация цвета" и т.д. с одним набором графики, а также систему подсказок.

Параметры

HOList 1.jpg

У листа есть стандартные параметры такие как положение на экране, размер, модификаторы и т.д. по сути они не важны главное что лист не перекрывал на сцене другие объекты, по-этому лучше ему находиться за пределами сцены. Единственный обязательный объект о котором должен знать лист это Table для отображения списка поиска, даже если таблица не будет использоваться быть все равно должна!

Ниже приведен список параматров и свойств листа которые мы можем найти на картинках справа.

  • группа ( gr ) - Группа, в которую входит текущий объект
  • память ( memo )- Если 1, то при повторном открытии экрана объект не обновляет свои параметры (помнит текущие параметры, оставшиеся от предыдущего посещения экрана)
  • картинка ( res ) - Графический ресурс для отображения объекта. Перетаскивается мышкой из редактора ресурсов (поле должно находится в состоянии редактирования). Обычно не используется, а применяется для отображения table
  • таблица ( table ) - Объект, типа table который является визуальным отображением списка. Должна быть обязательно
  • Подсказка ( hint ) — объект типа HiddenHint, который является менеджером хинтов.
  • Счетчик ( hdncnt ) — объект типа Counter, который отображает количество найденных объектов.

В самом счетчике в параметрах нужно указать val = 0, поскольку изначально нет найденных объектов.

  • Таймер ( timer ) — объект типа Timer, который отображает время игры.

При инициализации листа он передаст состояние "start" таймеру.

Внешний вид


  • вычеркнуть ( cross ) - Если 1, то найденный объект вычеркивается, оставаясь в списке(таблице), иначе он удаляется из списка.
  • листать ( scroll ) - Если 1, то список можно листать (скролировать), иначе ищутся только те, кто сейчас в нём виден.
  • тип списка ( kind ) - Тип поиска объектов:
1 - слово;
2 - предложение;
3 - удаляемая пиктограмма;
4 - пиктограмма;
5 - поиск различий.

Звуки при нахождении хидденов


  • обычный ( sndNrm ) - Звук при нахождении обычного HiddenObject.
  • коллекционный ( sndCol ) - Звук при нахождении коллекционного HiddenObject(объекту должна быть установлена коллекция)

Параметры поиска


Основные

  • объектов ( num ) - Максимальное количество доступных для поиска объектов в одной игровой сессии. (ВАЖНО!!! Таблице нужно установить общее количество ячеек равное(или больше) количеству доступных для поиска объектов.)
  • активных объектов ( numact ) - Максимальное Количество активных объектов в одной игровой сессии.
  • одного типа ( max ) - Максимальное количество объектов одного типа - поле тип в hiddenObject или хидден объекты с одинаковыми текстовыми ID могут считаться объектами одного типа (если -1 то игнорируется)
  • прятать ( hide ) - Делать невидимыми объекты, не участвующие в поиске.
  • оставлять ( stay ) - Оставлять найденный объект на месте (вызывая только флаеры) при удачном клике.
  • актёр-иконка ( actorIco ) - если "да", то во время полёта найденного хидден-объекта вместо него летит иконка которая помечена как "main picture" и указана в текстовом id хидден-объекта.
  • актер ( actor ) - Актёр.

Скорость

Отвечают за скорость перемещения найденного объекта.

  • полета ( vf ) - Скорость полета в пикселях в секунду.
  • вращения ( vr ) - Скорость вращения в градусах в секунду.

Другие

  • скалирование объектов ( scale_object ) - При нахождении во время полета объект будет скалироватся:
0 - отключено;
1 - включено.
  • пропадание объектов ( alpha_object ) - При нахождении во время полета объект будет менять альфу:
0 - отключено;
1 - включено.
  • реагировать на отпускание ( touch_up ) - Объекты связанные с этим хидденлистом будут реагировать на отпускание, а не на нажатие:
0 - отключено;
1 - включено (То есть реагировать на четкий клик, если кликнули и сместили область клика объект не реагирует!).
  • реагировать на finger tap ( finger_tap ) - Объекты, связанные с этим хидденлистом, будут реагировать на отпускание после ожидания дабл тача.
  • задержка срабатывания ( touch_delay ) - только для реакции на нажатие. Время между нажатием и реакцией списка объектов.
  • объединять одинаковые тексты ( same_txt ) - Объекты с одинаковым текстом будут жить в одной ячейке таблицы с добавлением множителя xN.
0 - отключено;
1 - включено.
  • множитель для иконок ( ico_res ) - Графический ресурс(анимация) для отображения множителя у иконок для типа списка 4(поиск по иконкам) и включенного объединения одинаковых текстов. Первый фрейм - х2, второй - х3 и т.д.
  • исключать одинаковые тексты ( unTxtID ) - исключает или не исключает из поиска объекты с одинаковыми txtID, используется совместно с одного типа.
  • вероятность пассивного предпочитаемого объекта ( prefProb ) - вероятность выпадения пассивного объекта, если у объекта стоит параметр "предпочитаемый" используется при исключении объектов с одинаковыми текстовыми ID
  • вероятность активного предпочитаемого объекта ( prefProbAct ) - вероятность выпадения активного объекта, если у объекта стоит параметр "предпочитаемый" используется при исключении объектов с одинаковыми текстовыми ID
  • реагировать на невидимые ( canInvis ) - реагировать или нет на объекты, которые в момент игры не видны в таблице. (Кликаются только те hiddenObject которые отображены в таблице, остальные нет!)
  • распределять равномерно ( undist ) - Равномерно распределять объекты по площади сцены.
  • прятать актеров при старте ( hideact ) - Устанавливать актерам видимость false при старте (по умолчаинию - да)(То есть всем актерам которые находятся на сцене при запуске принудительно установиться vis = 0)
  • аномалия ( anom ) - для всех аномалий кроме текстовой лист должен быть под объектом Effect):
0 - нет;
1 - текстовая;
2 - ночь;
3 - трансформация цвета;
4 - дым.
  • флурри ( flurry ) - Нужно ли отправлять статистику флурри "regexp=":
0 - нет;
1 - да.
  • вероятность инверсии ( invProb ) - Вероятность того, что сцена будет перевернута по x;
  • набор ( kit ) - Набор, из которого берутся объекты.

Появление новых объектов

  • время ( acttm ) - Время появления объекта (мс);
  • начальный скейл ( actsc ) - Начальный скейл;
  • начальная альфа ( actal ) - Начальная альфа.

Сессии

HOList 2.jpg
  • сессионность ( ses )
0 - нет;
1 - да.
  • ограничение сессий ( sesLim ) - Максимальное количество сессий, в которые можно играть
  • набор объектов ( sesSet ) - Набор объектов при заходе в хидден после последней сессии:
0 - случайный;
1 - последний фон;
2 - пустой.

Цвета

  • Цвет обязательных ( c_forced ) — цвет текста для обязательных объектов, указывается код цвета, если строку не заполнять цвет не используется
  • Цвет найденных ( c_found ) — цвет текста для найденных объектов, указывается код цвета, если строку не заполнять цвет не используется
  • Время перехода ( c_time ) - Время изменения цвета

Время

  • игры ( tmGm ) - Общее время игры. Если оно истекает, идет переход на экран [время вышло]: (см.ниже);
-1 - игнорируется;
число - время игры.
  • прерывать ( tmInt ):
1 - по окончанию времени игра будет прервана;
число - по окончанию времени игра продолжится, но переход все равно будет на неудачную ветку.
  • паузы ( tmWt ) - Время перед закрытием окна после разбора (для осмысления результата);
  • полета актера ( tmActor ) - Время работы актера, после которого обрабатываются ячейки таблицы;
  • перед исчезновением ( tmWtHide ) - Время, в течение которого объект остается видимым после обработки.

Ошибки

  • flyer при ошибке ( fl ) - обычно объект типа flyer (летуны которых надо показать в точке клика, если этот клик ошибочный). Можно в принципе любой объект который обладает состоянием "beg". Ошибочный клик - все клики мимо hiddenObject.
  • вычет времени при ошибке ( tmPen ) - Сколько отнять миллисекунд за ошибочный клик.

Переход

  • при разборе ( scrOk ) - Экран на который надо перейти, если все объекты найдены
  • время вышло ( scrOv ) - Экран на который надо перейти если время вышло, а не все объекты найдены

Система очков

  • Счетчик ( score_counter ) — счетчик, отображающий набранные очки.
  • счетчик (test) ( score_counter_test ) — счетчик, отображающий набранные очки.
  • ID пака ( pack_id ) — строковый идентификатор пака(для записи набранных очков в options должен быть заполнен); используется для вытаскивания суммарных очков в счетчики и дальнейшего их отображения.
  • ID игры ( game_id ) — строковый идентификатор игры (сцены).

Обязательно должен иметь префикс ID пака. Например, если pack_id = "pack1", то game_id = "pack1.game1"

  • мультипликатор очков ( scoreM ) — Мультипликатор очков за объект, если все собрано за отведенное время.
  • Очки ( score ) — количество очков, которые даются за каждый найденный hiddenObject.
  • Бонус за скорость ( bonusS ) — бонус за быстро найденный hiddenObject.
  • Бонусный интервал ( bonusT ) — время, за которое нужно найти hiddenObject для получения бонуса.
  • бонус за время ( bonusTime ) - бонус за оставшееся время игры = коэффициент который введем * оставшееся время таймера.
  • Бонусный мультипликатор ( grow ):
1- умножать очки за второй быстро найденный предмет на 2, за третий на 3, и т. д.
  • Количество кликов для штрафа ( wrngC ) — количество неверных кликов, после которых запустится блокатор (см. ниже).
  • Интервал для штрафа ( Интервал для штрафа ) — время, за которое нужно совершить неверные клики.
  • Штраф (очки) ( delS ) — Сколько отнимаем очков за ошибочный клик.
  • Штраф (время) ( delT ) — Сколько отнимаем времени за ошибочный клик.
  • блокатор ( blockImg ) - Объект, блокирующий сцену при серии ошибочных кликов. (Обычно маска растянутая на весь экран. ДОЛЖНА иметь состояние "beg")
  • время блокировки ( blockTime ) - Время блокировки при серии ошибочных кликов по истечении переводит "блокатор" в состояние end
  • порог touch move ( mvSens ) - Порог, начиная с которого движение пальца воспринимается как мув и сбрасываются неправильные клики.
  • touch move как штраф ( tchMvPen ) - Считать ли touch move за ложное попадание нет = 0, да = 1
  • клик на найденный как штраф ( clkFndPen ) - Считать ли клик на найденный объект за ложное попадание(актуально если объекты остаются на сцене)
  • аниматор очков ( scoreAnim ) - машина, которая анимирует полученные очки, должна иметь состояние anim
  • коэффициент комбо ( cmbCoef ) - коэфициент для расчёта комбо очков по формуле s(n) = k * n * (n + 1).
  • счётчик очков за объект ( objScCnt ) - счётчик который показывает очки за последний полученный объект (учитывая бонусы).
  • счётчик комбо-очков ( cmbScCnt ) - счётчик очков полученных за комбо-серию.
  • счётчик комбо-серий ( cmbRwCnt ) - счётчик который показывает комбо-серию (комбо из 2-х, 3-х и т.д. найденных объектов).
  • комбо2 прогресс ( cmb2Pr ) - комбо2 прогресс;
  • комбо2 время ( cmb2Tm ) - комбо2 время;
  • комбо2 кол-во ( cmb2Num ) - комбо2 кол-во.

Звезды

  • combo num ( comboNum ) - Количество быстро найденных объектов, нужное для получения звезды Combo
  • combo time ( comboInt ) - Интервал между кликами, считающимися быстрыми для Combo
  • accuracy ( accuracy ) - Точность кликов для получения звезды Accuracy (1 = 100%, все клики должны быть только удачные)
  • лимит ложных кликов ( starWrAcc ) - Лимит ложных кликов.

Формула расчета проста, количество верных кликов делим на общее количество получаем коэффициент если он равен или больше указного нами то в опции пишем параметр, если нет то не пишем.

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

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

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

+.png разбор: если был экран ( wscrOk ) - При нахождении всех объектов, переходим на определенный экран, если некоторый экран был уже хотя бы раз посещен

был экран ( was ) - Экран, который мы проверяем на то, был ли он уже открыт хотя бы один раз
перейти на ( scr ) - Переходим на этот экран, если экран из предыдущего поля уже открывался

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

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

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

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

+.png не успел: если был экран ( wscrOv ) - Если вышло время, а объекты не найдены, переходим на определенный экран, если некоторый экран был уже хотя бы раз посещен

был экран ( was ) - Экран, который мы проверяем на то, был ли он уже открыт хотя бы один раз
перейти на ( scr ) - Переходим на этот экран, если экран из предыдущего поля уже открывался

+.png не успел: изменить состояние объекта ( ) - Если вышло время, а объекты не найдены, перевести объект в новое состояние

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

+.png не успел: изменить параметр объекта ( ) - Если вышло время, а объекты не найдены, изменить параметр объекта

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

+.png счетчик очков ( ):

счетчик ( cnt ) - Каунтер, которому приходят очки.

+.png группа extra bonus ( extraBonus ). Используется для economics, при находжении объекта с некой вероятностью может выпасть бонус. Объект который анимирует появление бонуса должен иметь состояние show, время на наимацию бонуса - 10 секунд:

монетки объект ( coinsObj ) - объект который анимирует получение монет.
монетки вероятность ( coinsProb ) - вероятность по нахождению объекта получить дополнительно монетки.
опыт объект ( expObj ) - объект который анимирует получение опыта.
опыт вероятность ( expProb ) - вероятность по нахождению объекта получить дополнительно опыт.
энергия объект ( energyObj ) - объект который анимирует получение энергии.
энергия вероятность ( energyProb ) - вероятность по нахождению объекта получить дополнительно энергию.

+.png Объект, который срабатывает, если долго не находить хидден ( notfnd ):

объект ( obj ) - Объект, который переводится в указанное состояние, если долго не находить хидден
состояние ( st ) - Состояние, в которое переводится объект
время ( tm ) - Время от последнего нахождения хиддена, после которого срабатывает объект

+.png параметры аномалии с исчезновением букв ( hlPars ):

оставшиеся буквы ( min ) - Минимальное количество оставшихся букв в предложении;
задержка ( wait ) - Момент времени, начиная с которого аномалия будет проявляться;
задержка 2 ( wait2 ) - Задержка для появившихся слов, изначально недоступных;
время ( time ) - Время, за которое должны исчезнуть все буквы (если -1, то до конца времени в хиддене);
промежутки ( dt ) - промежутки времени между каждой итерацией.
флайер ( fl ) - Флайер, анимирующий исчезающую букву (должен иметь текстовый тип).

+.png параметры аномалии ночь ( nightPars ):

effect ( ef ) - эффект, управляющий трансформацией цвета;
tag ( eftag ) - Тег эффекта, реализующего ночь.

+.png параметры аномалии трансформации цвета ( colInvPars ):

effect ( ef ) - Эффект, управляющий трансформацией цвета;
tags ( eftags ) - Теги эффектов, реализующих трансформацию цвета, из которых будет выбран один.

+.png параметры аномалии дым ( smokePars ):

effect ( ef ) - Машина, управляющая эффектом дыма;
tag ( eftag ) - Тег эффекта, реализующего дым.

Все аномалии кроме текстовой должны быть настроены с помощью объекта Effect

Состояния

Состояния которые есть у листа. Мы можем передавать их с помощью различных объектов.

  • invert ( ) - горизонтально отображает изображение.
  • run ( ) - переводит хидден с состояние активности, если до этого был на паузе.
  • pause ( ) -переводит хидден с состояние паузы, объекты не кликаются!