Отображение результатов уровня в хидденах

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

Механизм

Для отображения результатов игры в хидденах используется механизм передачи значений через опции. В опции эти значения запишет HiddenList если у него будут заполнены поля id пака и id игры, например id пака="pk1" и id игры="pk1.scr01"

Результаты только что пройденной игры

Получить результаты только что пройденной игры (сцены) можно, создав объект типа counter и прописав ему некоторые настройки. Результаты которые мы можем отобразить отображены на скрине.

ScoreHidden.jpg

После прохождения уровня лист запишет в опции вот такие данные. (например)

<pk1 pack_score="7869">
    <scr01>
       kind2 last_star_time0="1" star_time0="1" last_star_combo0="0" last_star_accuracy0="1" star_accuracy0="1" total_score="4366"           normal_score="350" bonus_for_speed="2275" bonus_for_time="1741" time_spent="65" record_time_spent="65" record_total_score="4366"/>
     </scr03>
</pk1>

В зависимости от типа игры а у нас их 3 (слова, ассоциации, иконки) есть свой индификатор = "kind"N. kind1 - слова, kind4 - иконка, kind2 - ассоциация.

Настройки каунтера

Что бы counter считал и отобразил результаты ему нужно заполнить поля "игра" и "уровень"

- игра = game."kind"N, где game — идентификатор игры, прописанный в соответствующем хидден листе, N — тип игры (см. HiddenList)

У нас это id игры="pk1.scr01" плюс тип игры через точку. Получаем pk1.scr01.kind2

- уровень = key, где key — ключ, по которому вытаскивается интересующий нас параметр. Список ключей приведен ниже.

Список ключей

total_score — общее количество очков, заработанных за уровень

normal_score — очки, заработанные только за найденные хиддены без учета бонусов

bonus_for_speed — бонусные очки за быстрое нахождение хидденов

bonus_for_time — бонусные очки, если игрок вложился во время, оставшиеся время умножиться на "х"

time_spent — время прохождения игры

Таким образом чтобы например отобразить общие очки, нам каунтеру в поле "игра" указать pk1.scr01.kind2, а в поле "уровень" total_score

Глобальные результаты

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

Звезды

Вычитываются с помощью того же механизма, что и очки, только представляют собой объект типа progress.

Что бы progress' считал и отобразил результаты ему нужно заполнить поля "игра" и "уровень"

- игра = game."kind"N или наш пример pk1.scr01.kind2

- уровень = "ключ"

Список ключей для звезд

Так как у нас этот параметр мы заработали либо нет, то лист у нас пишет либо "1" или "0". А в прогрессе у нас анимация из двух кадров.

star_time0 - лист напишет в этот параметр "1" если мы вложимся в данное нам время

star_combo0 - лист напишет в этот параметр "1" если мы выполним условия Combo(указываются в HiddenList)

star_accuracy0 - лист напишет в этот параметр "1" если мы выполним условия Accuracy(указываются в HiddenList)

Также в опции записываються эти параметры но за последнюю игру, считать их можно добавив приставку last_. Например last_star_time0.

Рекорды по очкам

Сделано для того чтоб например в экране субменю стоял каунтер который показыает максимальное кол-во очко когда либо заработаное за определенный уровень, а в экране со скорами очки за последнюю игру.

Отображает очки каунтер со следующими параметрами:

- игра = game."kind"N у нас это pk1.scr01.kind2

- уровень = "record_total_score"

Суммарные очки пака

Каунтер со следующими параметрами:

- игра = "pack", где pack — идентификатор пака, прописанный в соответствующем HiddenList (наш пример id пака="pk1")

- уровень = "pack_score"