Использование Progress в игре — различия между версиями
Igood (обсуждение | вклад) |
Igood (обсуждение | вклад) |
||
Строка 38: | Строка 38: | ||
=== Пример из пазлов === | === Пример из пазлов === | ||
+ | |||
+ | Пример из Пазлов. | ||
+ | |||
+ | Звезды в пазлах даются в зависимости от количества сделаных ходов за одну игру. После прохождения уровня пазл запишет в опции: | ||
+ | |||
+ | <pk7> | ||
+ | <pz01 lv1="2"/> | ||
+ | </pk7> | ||
+ | |||
+ | Видим что мы играли пак №7 пазл №1 уровень = 0. Для этого мы передаем пазлу значение pk7.pz01 в параметр "game" и "level" значение lv0. | ||
+ | Эти значения могут быть произвольными, главное потом их правильно указать прогрессу. Если у нас есть к примеру 4 уровня то мы можем использовать один | ||
+ | прогресс а в его количестве указать 4ре тогда. | ||
+ | |||
+ | В редактрое это будет выглядеть так [[Файл:progress3.jpg]] а в игре так [[Файл:progress2.jpg]]. | ||
+ | |||
+ | При этом каждая звезда будет считывать свое сначение из опций. Первая pk7.lv0, вторая pk7.lv1, третья pk7.lv2 и т.д. | ||
+ | В нашем случае это pk1.pz01.lv1 означает что второй звезде из прогресса присвоится 3й фрейм из анимации которая указана у неее в ресурсах. | ||
+ | В редакторе в ключе левел мы указываем только "lv" без 0,1,3... прогресс сам считает для каждого свое значение. | ||
+ | |||
+ | Ключи game.level могут быть произвольными. |
Версия 07:36, 1 июня 2012
Progress в игре
Объект типа Progress предназначен для отображения ачивментов(звед) Сейчас используеться в пазлах и тревеле.
В пазлах объектом который записывает значения в опции является сам пазл Puzzle. В тревеле в опции записывает HiddenList Прогрессу для отображения остаеться лишь правильно считать данные из опций.
Пример из игры Тревел
Звезды в игре даются за общую точность кликов в сцене, если прошли уровень за меньшее кол-во времени, и за "n" точных клипов подряд. Для них есть отдельные ключи. Все эти данные подсчитывает и записывает в опции ХиденЛист. Выглядят они примерно так.
<pk1> <scr03> <kind1 last_star_time0="1" star_time0="1" last_star_combo0="0" star_combo0="0" last_star_accuracy0="1" star_accuracy0="1"/> </scr03> </pk1>
Эти данные означают что мы играли в игру з пака pk1 экран scr03 тип игры kind1. Значение "0" означает что мы не получили звезду и у нас будет показываться нулевой фрейм из анимации, значение "1" будет показываться след фрейм. Так как у нас в игре либо получил звезду либо нет, то анимация будет содержать всего два фрейма.
Для отображения этих данных в Progress мы должны указать в поле "игра"=pk1.scr03.kind1 то есть показать откуда мы будем читать данные. А в поле "уровень" указать сами данные это: star_combo, star_accuracy, star_time.
В этом случае если мы получим зведу то она ни куда не денется. Если этим ключам указать префикс last, то если у нас была уже звезда но при повторной игре мы ее не получили она пропадет.
Также в опции записываются данные:
<last_game star_time0="1" star_combo0="0" star_accuracy0="1"/>
Их удобно использовать в общем окне результатов, для того чтоб не инитить объекту progress в какой уровень мы играли в поле "игра" указываем last_game, поле уровень star_time, star_combo, star_accuracy.
Пример из пазлов
Пример из Пазлов.
Звезды в пазлах даются в зависимости от количества сделаных ходов за одну игру. После прохождения уровня пазл запишет в опции:
<pk7> <pz01 lv1="2"/> </pk7>
Видим что мы играли пак №7 пазл №1 уровень = 0. Для этого мы передаем пазлу значение pk7.pz01 в параметр "game" и "level" значение lv0. Эти значения могут быть произвольными, главное потом их правильно указать прогрессу. Если у нас есть к примеру 4 уровня то мы можем использовать один прогресс а в его количестве указать 4ре тогда.
В редактрое это будет выглядеть так а в игре так .
При этом каждая звезда будет считывать свое сначение из опций. Первая pk7.lv0, вторая pk7.lv1, третья pk7.lv2 и т.д. В нашем случае это pk1.pz01.lv1 означает что второй звезде из прогресса присвоится 3й фрейм из анимации которая указана у неее в ресурсах. В редакторе в ключе левел мы указываем только "lv" без 0,1,3... прогресс сам считает для каждого свое значение.
Ключи game.level могут быть произвольными.