Timer

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

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

Данный объект предназначен для различных действий в игре связанных со временем. Например: длительность игры на каком-то из уровней, время между ходами и т.д. Он может использоваться в качестве таймера (время отнимается) и секундомера (время наращивается).

Параметры и свойства таймера

Timer.JPG
  • тип - тип объекта
  • имя - имя объекта
  • синхронизация - синхронизация между лейаутами
  • положение
    • x - положение объекта по оси х
    • y - положение объекта по оси y
  • размер
    • w - ширина объекта в пикслях
    • h - высота объекта в пикселях
  • модификаторы
    • alpha - прозрачность объекта от 0 (прозрачен) до 1 (не прозрачен)
    • angle - угол поворота в градусах. 0 - не повернут. Отсчитывается от оси х вниз. Вверх идут отрицательные углы.
    • scale x - масштаб по оси х: 1 - не изменен, 1.5 - увеличен в полтора раза, и т.д.
    • scale y - масштаб по оси y: 1 - не изменен, 1.5 - увеличен в полтора раза, и т.д.
  • z - параметр порядка рисования объекта. Сначала рисуются объекты с большим z, а под ними с меньшим
  • память - если 1 - не обновляет свои параметры при последующем открытии экрана, 0 - обновляет
  • состояние
    • beg - начальное состояние (таймер не идет)
    • run - запуск таймера
    • fast - таймер работает с ускорением( кооф. ускорения задаем в "ускорение" )
    • pause - таймер перходит в состояние паузы. (снять с паузы состоянием - run, fast)
    • add - добавление времени к таймеру
    • del - отнимание времен из таймера
    • end - конечное состояние таймера
    • stop - останавливает таймер, если потом он будет запущен снова, то пойдет с нуля
    • save - записывает текущее значение в опции под именем, указанным в ключе (игра, уровень)

Состояние - начальное состояние таймера

  • значение - начальное значение таймера в ms
  • обратный ход - если "0" объект "таймер" работает, как секундомер (время увеличивается), если "1", то работает как таймер (время отнимается)
  • графика
    • res - основной графический ресурс для таймера, в качестве графического ресурса подгружается анимация из 10 фреймов, на которых изображены числа от 0 до 1
    • цифры нормальные - поле куда добавляется анимация цифр в нормальном виде(не обязательно заполнять, если таймер будет использоваться в одном режиме)
    • цифры окончания - анимация цифр, которая будут показываться в том случае, когда время таймера будет истекать
    • цифры при добавлении - анимация цифр, которая будет показываться в том случае, когда к таймеру было добавлено время
    • цифры при удалении - анимация цифр, которая будет показываться в том случае, когда от таймера было отнято время
    • двоеточие нормальное - графика двоеточия, которое разделяет секунды, минуты, подгражается обычный графический ресурс двоеточия
    • двоеточие окончания - графика двоеточия, которое показывается в случае, когда у таймера истекает время
    • двоеточие при добавлении - графика двоеточия, будет использовать при прибавлении время к таймеру
    • двоеточие при удалении - графика двоеточия, будет использовать при удалении время от таймера
  • внешний вид
    • dx - сдвинуть все относительно подложки вдоль х
    • dy - сдвинуть все относительно подложки вдоль y
    • dx между цифрами - расстояние между цифрами внутри разряда, между hh или mm
    • dx от ":" - расстояние между разрядами и клипом двоеточия (справа и слева от него)
    • ускорение - кэффициент ускорения, когда таймер находится в состоянии fast
    • сохранять в профиль - если "0" - то не сохраняет значение в профиль, а значит значение будет глобальным
    • игра - ключ (параметр), совместно с параметром игра образует переменную, с помощью которой можно управлять таймерому
    • уровень - совместно с параметром игра образует переменную, с помощью которой можно управлять таймером
  • Время истекло: изменить состояние объекта - если достигнет нуля, то есть используется, как таймер, он изменит состояние какого-то объекта
  • Время истекло: изменить параметр (свойство) объекта - если достигнет нуля, то есть используется, как таймер, он изменит параметр какого-то объекта

== Примеры применений ==
Благодаря разнообразию состояний таймера есть возможность гибкой их настройки под различные проекты. Например, можно считать время проведенное на уровне, время между двумя ходами, время затраченное на один ход, также если есть время, то можно высчитать и скорость и расстояние при наличии необходимых данных.
Следует помнить следующие основные состояния: run, beg, pause, save, stop, fast. Эти состояния используется чаще всего.
Предположим, есть необходимость запустить таймер, для этого, с помощью какого-то объекта необходимо задать таумеру состояние run. Предварительно нужно настроить его в зависимости от того, в каком режиме нужно использовать его.
Если нам необходимо поставить игру на паузу и нужно, чтобы таймер тоже стал на паузу, то нужно указать таймеру состояние pause. Чтобы продолжить игру нужно опять же указать ему состояние run.
Не стоит путать состояния pause и stop, не смотря на то, что при вызове этих состояний таймер останавливается. Но когда мы ему укажем состояние run, то после паузы он продолжит идти дальше, а после stop он сбросится в свое начальное значение и начнет счет с начального значения.
Если указать таймеру состояние beg, то таймер сбросится в свое первоначальное значение.
Чтобы оперировать значением таймера, необходимо сохранить его значение. Для этого ему нужно указать ключи: игра, уровень. А в нужный момент, когда нужно, чтобы таймер сохранил свое значение необходимо последовательно ему задать два состояния: сперва нужно поставить на паузу с помощью состояния pause, а потом указать состояние save. В этом случае, таймер сохранит свое текущее значение в параметр, который образует ключ игра/уровень.
Если указать таймеру состояние fast, то он должен начать идти быстрее с коэффициентом ускорения указанным в соответствующем поле. (это бывает необходимо в тех случаях, когда игрок делает подряд необдуманные ходы и нужно показать ему, что нельзя наугад делать ходы, наказать игрока)