Класс: Phaser.Timer
Конструктор
new Timer(game, autoDestroy)
Таймер — способ создания и управления событиями таймера, которые ожидают определенного интервала времени, а затем выполняют обратный вызов.
К одному таймеру можно добавить несколько событий таймера с различными задержками.
Все задержки таймера указаны в миллисекундах (в 1 секунде 1000 мс); значение задержки 250 соответствует четверти секунды.
Таймеры основаны на реальном времени, скорректированном с учетом приостановки игры.
То есть, события таймера основаны на прошедшем времени игры и не учитывают время физики или замедление.
Параметры
| Имя | Тип | Аргумент | Значение по умолчанию | Описание |
|---|---|---|---|---|
game | Phaser.Game | Ссылка на текущую запущенную игру. | ||
autoDestroy | boolean | <необязательно> | true | Если true, таймер автоматически уничтожится после того, как будут обработаны все события (при условии, что нет циклических событий). |
- Исходный код: time/Timer.js (Строка 21)
Общедоступные свойства
- Source code: time/Timer.js (Line 175)
- Source code: time/Timer.js (Line 161)
- Source code: time/Timer.js (Line 182)
- Source code: time/Timer.js (Line 168)
- Source code: time/Timer.js (Line 45)
- Source code: time/Timer.js (Line 677)
- Внутреннее:
- Этот член является внутренним (защищенным) и может быть изменен или удален в будущем.
- Source code: time/Timer.js (Line 58)
- Array.<Phaser.TimerEvent>
- Source code: time/Timer.js (Line 63)
- Source code: time/Timer.js (Line 52)
- Внутреннее:
- Этот член является внутренним (защищенным) и может быть изменен или удален в будущем.
- Source code: time/Timer.js (Line 29)
- Source code: time/Timer.js (Line 699)
- Source code: time/Timer.js (Line 712)
- Source code: time/Timer.js (Line 664)
- Внутреннее:
- Этот член является внутренним (защищенным) и может быть изменен или удален в будущем.
- Source code: time/Timer.js (Line 79)
- Source code: time/Timer.js (Line 72)
- Source code: time/Timer.js (Line 91)
- Source code: time/Timer.js (Line 39)
- Source code: time/Timer.js (Line 734)
- Source code: time/Timer.js (Line 84)
[static] HALF : integer
Количество миллисекунд в половине секунды.
[static] MINUTE : integer
Количество миллисекунд в минуте.
[static] QUARTER : integer
Количество миллисекунд в четверти секунды.
[static] SECOND : integer
Количество миллисекунд в секунде.
autoDestroy : boolean
Если true, таймер будет автоматически уничтожен после того, как все события будут обработаны (при условии отсутствия циклических событий).
[readonly] duration : number
Продолжительность в мс, оставшаяся до следующего события.
<internal> elapsed : number
Прошедшее время с момента последнего кадра (в мс).
events : Array.<Phaser.TimerEvent>
Массив, содержащий все объекты Phaser.TimerEvent этого таймера. Используйте методы add, repeat и loop для его заполнения.
Тип
[readonly] expired : boolean
Истекший таймер - это таймер, все события которого были обработаны, и нет ожидающих событий.
<internal> game : Phaser.Game
Локальная ссылка на игру.
[readonly] length : number
Количество ожидающих событий в очереди.
[readonly] ms : number
Продолжительность в миллисекундах работы этого таймера.
[readonly] next : number
Время, в которое произойдет следующее событие.
<internal, readonly> nextTick : number
Время следующего тика.
onComplete : Phaser.Signal
Этот сигнал будет отправлен, когда этот таймер завершит работу, то есть, когда в очереди больше нет событий.
Сигналу передается один аргумент, timer, который представляет собой этот объект Timer.
[readonly] paused : boolean
Состояние паузы таймера. Вы можете приостановить таймер, вызвав Timer.pause() и Timer.resume() или приостановив игру.
[readonly] running : boolean
Истинно, если таймер активно работает.
Не изменяйте этот булевый тип - используйте pause (и resume), чтобы приостановить таймер.
[readonly] seconds : number
Продолжительность в секундах работы этого таймера.
timeCap : number
Если разность во времени между двумя обновлениями кадра превышает это значение, времена событий сбрасываются, чтобы избежать ситуаций "догоняния".
Общедоступные методы
- Исходный код: time/Timer.js (Строка 228)
- Внутреннее:
- Этот член является внутренним (защищённым) и может быть изменён или удалён в будущем.
- Исходный код: time/Timer.js (Строка 552)
- Внутреннее:
- Этот член является внутренним (защищённым) и может быть изменён или удалён в будущем.
- Исходный код: time/Timer.js (Строка 392)
- Исходный код: time/Timer.js (Строка 646)
- Исходный код: time/Timer.js (Строка 272)
- Внутреннее:
- Этот член является внутренним (защищённым) и может быть изменён или удалён в будущем.
- Исходный код: time/Timer.js (Строка 354)
- Исходный код: time/Timer.js (Строка 510)
- Исходный код: time/Timer.js (Строка 334)
- Исходный код: time/Timer.js (Строка 631)
add(delay, callback, callbackContext, arguments) → {Phaser.TimerEvent}
Добавляет новое событие в этот таймер.
Событие сработает по истечении заданного значения delay в миллисекундах после запуска таймера.
Задержка рассчитывается от момента запуска таймера, а не от момента добавления события. Если таймер уже запущен, задержка будет рассчитана на основе текущего времени таймера.
Убедитесь, что вы вызываете start после добавления всех необходимых событий для этого таймера.
Параметры
| Имя | Тип | Аргумент | Описание |
|---|---|---|---|
delay | integer | Количество миллисекунд, в времени игры, до срабатывания события таймера. | |
callback | function | Обработчик, который будет вызван при срабатывании события таймера. | |
callbackContext | object | Контекст, в котором будет вызван обработчик. | |
arguments | * | <repeatable> | Дополнительные аргументы, которые будут переданы обработчику. |
Возвращаемое значение
Объект Phaser.TimerEvent, который был создан.
<internal> adjustEvents()
Корректирует время всех ожидающих событий и nextTick на заданное значение baseTime.
<internal> clearPendingEvents()
Очищает любые события из таймера, у которых pendingDelete установлено в true, а затем сбрасывает значения _len и _i.
destroy()
Уничтожает этот таймер. Ожидающие события не отправляются.
Обработчики onComplete не будут вызваны.
loop(delay, callback, callbackContext, arguments) → {Phaser.TimerEvent}
Добавляет новое циклическое событие в этот таймер, которое будет повторяться бесконечно или до остановки таймера.
Событие сработает по истечении заданного значения delay в миллисекундах после запуска таймера.
Задержка рассчитывается от момента запуска таймера, а не от момента добавления события. Если таймер уже запущен, задержка будет рассчитана на основе текущего времени таймера.
Убедитесь, что вы вызываете start после добавления всех необходимых событий для этого таймера.
Параметры
| Имя | Тип | Аргумент | Описание |
|---|---|---|---|
delay | integer | Количество миллисекунд, в времени игры, до срабатывания события таймера. | |
callback | function | Обработчик, который будет вызван при срабатывании события таймера. | |
callbackContext | object | Контекст, в котором будет вызван обработчик. | |
arguments | * | <repeatable> | Дополнительные аргументы, которые будут переданы обработчику. |
Возвращаемое значение
Объект Phaser.TimerEvent, который был создан.
<internal> order()
Сортирует события в этом таймере по порядку срабатывания.
Вызывается автоматически при создании новых событий.
pause()
Приостанавливает таймер и все события в очереди.
remove(event)
Удаляет ожидающее событие TimerEvent из очереди.
Параметры
| Имя | Тип | Описание |
|---|---|---|
event | Phaser.TimerEvent | Событие, которое нужно удалить из очереди. |
removeAll()
Удаляет все события из этого таймера и все обработчики, связанные с onComplete, но оставляет таймер работающим.
Обработчики onComplete не будут вызваны.
repeat(delay, repeatCount, callback, callbackContext, arguments) → {Phaser.TimerEvent}
Добавляет новое событие таймера, которое будет выполняться один раз и затем повторяться для заданного количества итераций.
Событие сработает по истечении заданного значения delay в миллисекундах после запуска таймера.
Задержка рассчитывается от момента запуска таймера, а не от момента добавления события.
Если таймер уже запущен, задержка будет рассчитана на основе текущего времени таймера.
Убедитесь, что вы вызываете start после добавления всех необходимых событий для этого таймера.
Параметры
- Исходный код: time/Timer.js (Строка 249)
- Исходный код: time/Timer.js (Строка 590)
- Исходный код: time/Timer.js (Строка 293)
- Исходный код: time/Timer.js (Строка 316)
- Внутренний:
- Этот член является внутренним (защищенным) и может быть изменен или удален в будущем.
- Исходный код: time/Timer.js (Строка 415)
| Имя | Тип | Аргумент | Описание |
|---|---|---|---|
delay | целое число | Количество миллисекунд, в времени игры, до наступления события таймера. | |
repeatCount | число | Количество раз, которое событие будет повторяться после завершения воспроизведения. Значение repeatCount, равное 1, означает, что событие повторится один раз, сыграв его дважды в общей сложности. | |
callback | функция | Обработчик, который будет вызван при наступлении события таймера. | |
callbackContext | объект | Контекст, в котором будет вызван обработчик. | |
arguments | * | <repeatable> | Дополнительные аргументы, которые будут переданы обработчику. |
Возвращает
Объект Phaser.TimerEvent, который был создан.
resume()
Возобновляет таймер и обновляет все ожидающие события.
start(delay)
Запускает этот таймер.
Параметры
| Имя | Тип | Аргумент | Значение по умолчанию | Описание |
|---|---|---|---|---|
delay | целое число | <optional> | 0 | Количество миллисекунд, в времени игры, которые должны пройти перед запуском таймера. |
stop(clearEvents)
Останавливает работу этого таймера. Не приводит к его уничтожению, если autoDestroy установлен в true.
Параметры
| Имя | Тип | Аргумент | Значение по умолчанию | Описание |
|---|---|---|---|---|
clearEvents | boolean | <optional> | true | Если true, все события в таймере будут очищены, в противном случае они останутся. |
<internal> update(time) → {boolean}
Основное событие обновления таймера, вызываемое автоматически Phaser.Time.update.
Параметры
| Имя | Тип | Описание |
|---|---|---|
time | число | Время от системных часов игры. |
Возвращает
True, если еще есть события, ожидающие обработки, иначе false, если этот таймер может быть уничтожен.
© 2016 Richard Davey, Photon Storm Ltd.
Licensed under the MIT License.
http://phaser.io/docs/2.6.2/Phaser.Timer.html