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

Материал из wiki.appsalutecreator.com
Перейти к: навигация, поиск
(Прямое изменение значения)
Строка 1: Строка 1:
 
'''Счетчик''' является целым положительным числом, значение которого могут изменять другие
 
'''Счетчик''' является целым положительным числом, значение которого могут изменять другие
 
объекты. Используется для визуализации числа сделанных ходов в игре, оставшихся доступных
 
объекты. Используется для визуализации числа сделанных ходов в игре, оставшихся доступных
подсказок и т.п.
+
подсказок и т.п. Может быть невидимым для хранения целого числа, используемого, например,
 +
[[Machine|машинами состояний]].
  
 
== Введение ==
 
== Введение ==
Строка 19: Строка 20:
  
 
По умолчанию разряды числа счетчика сдвигаются справа налево от его положения в редакторе (неподвижен правый край числа). Если в свойствах счетчика поле "'''влево'''" установить в 1, то
 
По умолчанию разряды числа счетчика сдвигаются справа налево от его положения в редакторе (неподвижен правый край числа). Если в свойствах счетчика поле "'''влево'''" установить в 1, то
неподвижным будет левый край.
+
неподвижным будет левый край. Параметр "dx между цифрами" задает дополнительное расстояние между цифрами в числе (если он меньше нуля, цифры будут ближе).
  
 
Если начальное значение не попадает в диапазон min, max (например, val=-1), то счетчик становится невидимым.
 
Если начальное значение не попадает в диапазон min, max (например, val=-1), то счетчик становится невидимым.
Строка 46: Строка 47:
 
== Значение из options ==
 
== Значение из options ==
  
Начальное значение счетчика можно задавать не только в редакторе (поле '''val'''), но и получать его сохраненное значение в опциях игры. Пусть некоторая миниигра или машина состояний сохранили в опциях целое значение в переменной, например, с именем "scores". Тогда это значение будет присвоено счетчику, если в настройках счетчика в поле "уровень" написать "scores".
+
Начальное значение счетчика можно задавать не только в редакторе (поле '''val'''), но и получать его сохраненное значение в опциях игры. Пусть некоторая миниигра сохранила в опциях целое значение в переменной, например, с именем "scores". Тогда это значение будет присвоено счетчику, если в настройках счетчика в поле "уровень" написать "scores".
  
Например, пусть на первом экране есть машина со следующим состоянием
+
Если помимо поля "уровень" задано поле "игра", то значение для счетчика будет искаться
 +
не в глобальных параметрах опций, а в разделе, определяемом полем "игра".
 +
Если строка в поле "игра" разделено точками, то они определяют подразделы.
 +
Так, если "уровень"="scores", а "игра"="puzzle.pack1", а xml файл options.xml
 +
будет выглядеть примерно так:
 +
<pre>
 +
<obj >
 +
  <puzzle>
 +
      <pack1 scores="3" />
 +
  </puzzle>
 +
</obj>
 +
</pre>
 +
то начальное значение счетчика будет равно 3. Если такого раздела или поля не окажется,
 +
то счетчик будет невидимым.

Версия 21:16, 9 февраля 2012

Счетчик является целым положительным числом, значение которого могут изменять другие объекты. Используется для визуализации числа сделанных ходов в игре, оставшихся доступных подсказок и т.п. Может быть невидимым для хранения целого числа, используемого, например, машинами состояний.

Введение

В качестве графического ресурса в него перетаскивается анимационный клип из 10 кадров с цифрами от 0 до 9. Диапазон изменения задается в полях min, max. Начальное значение в поле val. Счетчик можно увеличивать или уменьшать.

Рассмотрим пример применения. Пусть есть счетчик и кнопка. При помощи правой кнопки мыши на кнопке btn_inc добавим раздел "изменить состояние объекта", в котором изменим состояние счетчика на inc (неважные поля опущены):

Counter1.png

В результате, при клике на кнопку будет происходить увеличение цифр 0 до 10. После достижения максимальной границы, равной 10, счетчик перестанет увеличиваться. Аналогично, при помощи состояния dec, можно уменьшить значения счетчика. Состояния min и max переводят значение счетчика в минимальное и максимальное значение соответственно.

По умолчанию разряды числа счетчика сдвигаются справа налево от его положения в редакторе (неподвижен правый край числа). Если в свойствах счетчика поле "влево" установить в 1, то неподвижным будет левый край. Параметр "dx между цифрами" задает дополнительное расстояние между цифрами в числе (если он меньше нуля, цифры будут ближе).

Если начальное значение не попадает в диапазон min, max (например, val=-1), то счетчик становится невидимым.

Прямое изменение значения

Значение счетчика можно изменить напрямую, например, их машины состояний:

st = "wait"                          
{
   click { go="change" }                  // при клике - идем в состояние "change"
}

st = "change"                            
{
   set { obj=counter par="val"  val="5" } // меняем значение счетчика
   set { obj=counter st="reset" }         // переустанавливаем его
   wait{ go="wait" }
}

При клике на машину, она переходит в состояние "change". В этом состоянии устанавливается параметр счетчика val в значение 5, после чего он перезапускается, переводясь в состояние "reset" (параметр val является строковым и счетчику его нужно перечитать, что и делается в состоянии "reset"). Аналогично счетчик можно было бы перевести в состояние "init", но тогда он бы полностью переинитился (обновились бы все его параметры из начальных) настроек. В состоянии "reset" обновляется только поле "val".

Напомним, что если устанавливаемое значение не попадает в диапазон min, max, то счетчик окажется невидимым.

Значение из options

Начальное значение счетчика можно задавать не только в редакторе (поле val), но и получать его сохраненное значение в опциях игры. Пусть некоторая миниигра сохранила в опциях целое значение в переменной, например, с именем "scores". Тогда это значение будет присвоено счетчику, если в настройках счетчика в поле "уровень" написать "scores".

Если помимо поля "уровень" задано поле "игра", то значение для счетчика будет искаться не в глобальных параметрах опций, а в разделе, определяемом полем "игра". Если строка в поле "игра" разделено точками, то они определяют подразделы. Так, если "уровень"="scores", а "игра"="puzzle.pack1", а xml файл options.xml будет выглядеть примерно так:

<obj >
   <puzzle>
      <pack1 scores="3" />
   </puzzle>
</obj>

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