Класс: Phaser.Animation
Конструктор
new Animation(game, parent, name, frameData, frames, frameRate, loop)
Экземпляр Animation содержит одну анимацию и средства для её воспроизведения.
Он создаётся менеджером анимаций, состоит из объектов Animation.Frame и принадлежит одному объекту игры, например, Sprite.
Параметры
| Имя | Тип | Аргумент | Значение по умолчанию | Описание |
|---|---|---|---|---|
game | Phaser.Game | Ссылка на текущую игру. | ||
parent | Phaser.Sprite | Ссылка на владельца этой анимации. | ||
name | string | Уникальное имя этой анимации, используемое в командах воспроизведения. | ||
frameData | Phaser.FrameData | Объект FrameData, содержащий все кадры, используемые в этой анимации. | ||
frames | Array.<number> | Array.<string> | Массив чисел или строк, указывающих, какие кадры воспроизводить и в каком порядке. | ||
frameRate | number | <optional> | 60 | Скорость воспроизведения анимации. Скорость задаётся в кадрах в секунду. |
loop | boolean | <optional> | false | Циклическое воспроизведение анимации или однократное. |
- Исходный код: animation/Animation.js (Строка 22)
Свойства
- Исходный код: animation/Animation.js (Строка 125)
- Исходный код: animation/Animation.js (Строка 58)
- Исходный код: animation/Animation.js (Строка 800)
- Исходный код: animation/Animation.js (Строка 739)
- Исходный код: animation/Animation.js (Строка 726)
- Исходный код: animation/Animation.js (Строка 29)
- Исходный код: animation/Animation.js (Строка 80)
- Исходный код: animation/Animation.js (Строка 92)
- Исходный код: animation/Animation.js (Строка 86)
- Исходный код: animation/Animation.js (Строка 157)
- Исходный код: animation/Animation.js (Строка 74)
- Исходный код: animation/Animation.js (Строка 63)
- Исходный код: animation/Animation.js (Строка 68)
- Исходный код: animation/Animation.js (Строка 46)
- Исходный код: animation/Animation.js (Строка 146)
- Исходный код: animation/Animation.js (Строка 151)
- Исходный код: animation/Animation.js (Строка 130)
- Phaser.Signal | null
- Исходный код: animation/Animation.js (Строка 141)
- Исходный код: animation/Animation.js (Строка 672)
- Исходный код: animation/Animation.js (Строка 706)
- Исходный код: animation/Animation.js (Строка 777)
currentFrame : Phaser.Frame
Текущая отображаемая рамка анимации.
delay : number
Задержка в мс между кадрами анимации, основанная на заданной частоте кадров.
enableUpdate : boolean
Получает или задаёт, будет ли эта анимация отправлять события onUpdate при изменении кадра.
frame : number
Получает или задаёт текущий индекс кадра и обновляет кеш текстур для отображения.
[только для чтения] frameTotal : number
Общее количество кадров в загруженных данных FrameData, или -1, если FrameData не загружена.
game : Phaser.Game
Ссылка на текущую запущенную игру.
isFinished : boolean
Состояние завершения анимации. Устанавливается в true после завершения воспроизведения, false во время воспроизведения.
isPaused : boolean
Состояние паузы анимации.
isPlaying : boolean
Состояние воспроизведения анимации. Устанавливается в false после завершения воспроизведения, true во время воспроизведения.
isReversed : boolean
Указывает, будет ли анимация воспроизводиться в обратном порядке.
killOnComplete : boolean
Должен ли родитель этой анимации быть уничтожен при завершении анимации?
loop : boolean
Состояние циклического воспроизведения анимации.
loopCount : number
Количество раз, когда анимация была повторена с момента последнего запуска.
name : string
Пользовательское имя, заданное этой анимации.
onComplete : Phaser.Signal
Это событие срабатывает, когда воспроизведение этой анимации завершается. Если анимация настроена на циклическое воспроизведение, это событие никогда не срабатывает, вместо этого следует прослушивать событие onLoop.
onLoop : Phaser.Signal
Это событие срабатывает, когда эта анимация циклически повторяется.
onStart : Phaser.Signal
Это событие срабатывает, когда воспроизведение этой анимации начинается.
onUpdate : Phaser.Signal | null
Это событие срабатывает, когда анимация меняет кадр.
По умолчанию это событие отключено из-за его интенсивности. Включите его с помощью: Animation.enableUpdate = true.
Обратите внимание, что событие отправляется только с текущим кадром. В среде с низкой частотой кадров анимации
автоматически будут пропускать кадры, чтобы попытаться компенсировать время, поэтому не полагайтесь на то,
что вы получите идеально последовательный набор кадров от этого события.
Тип
paused : boolean
Получает и устанавливает состояние паузы этой анимации.
reversed : boolean
Получает и устанавливает состояние isReversed этой анимации.
speed : number
Получает или задаёт текущую скорость анимации в кадрах в секунду. Изменение этого значения во время воспроизведения анимации вступит в силу с следующего кадра. Значение должно быть больше 0.
Публичные методы
- Исходный код: animation/Animation.js (Строка 828)
- Исходный код: animation/Animation.js (Строка 642)
- Исходный код: animation/Animation.js (Строка 608)
- Исходный код: animation/Animation.js (Строка 531)
- Исходный код: animation/Animation.js (Строка 365)
- Исходный код: animation/Animation.js (Строка 379)
- Ссылка на этот экземпляр Animation.
- Исходный код: animation/Animation.js (Строка 167)
- Исходный код: animation/Animation.js (Строка 563)
- Исходный код: animation/Animation.js (Строка 218)
- Исходный код: animation/Animation.js (Строка 246)
- Исходный код: animation/Animation.js (Строка 260)
<static> generateFrameNames(prefix, start, stop, suffix, zeroPad) → {Array.<string>}
Очень полезная функция для создания массивов данных анимации, использующих имена кадров, а не номера.
Например, представьте, что у вас есть 30 кадров с именами: «explosion_0001-large» до «explosion_0030-large»
Вы можете использовать эту функцию для их генерации, выполнив: Phaser.Animation.generateFrameNames('explosion_', 1, 30, '-large', 4);
Параметры
| Имя | Тип | Аргумент | Значение по умолчанию | Описание |
|---|---|---|---|---|
prefix | string | Начальная часть имени файла. Если имя файла было 'explosion_0001-large', то префикс будет 'explosion_'. | ||
start | number | Число, с которого начинать последовательный счёт. Если ваши кадры имеют имена «explosion_0001» до «explosion_0034», то начальное значение равно 1. | ||
stop | number | Число, до которого считать. Если ваши кадры имеют имена «explosion_0001» до «explosion_0034», то значение стопа равно 34. | ||
suffix | string | <optional> | '' | Конечная часть имени файла. Если имя файла было 'explosion_0001-large', то суффикс будет '-large'. |
zeroPad | number | <optional> | 0 | Количество нулей для заполнения минимальных и максимальных значений. Если ваши кадры имеют имена «explosion_0001» до «explosion_0034», то zeroPad равен 4. |
Возвращаемое значение
Массив имён кадров.
complete()
Вызывается внутри, когда воспроизведение анимации завершается.
Устанавливает состояния isPlaying и isFinished и отправляет событие onAnimationComplete, если оно существует у родителя, и локальное событие onComplete.
destroy()
Очищает эту анимацию для удаления. Сбрасывает все значения и ссылки.
next(quantity)
Переходит к следующему кадру на заданное число кадров в анимации, учитывая значение цикла.
Параметры
| Имя | Тип | Аргумент | Значение по умолчанию | Описание |
|---|---|---|---|---|
quantity | number | <optional> | 1 | Количество кадров для перехода. |
onPause()
Вызывается, когда игра переходит в состояние паузы.
onResume()
Вызывается, когда игра возобновляется после паузы.
play(frameRate, loop, killOnComplete) → {Phaser.Animation}
Запускает эту анимацию.
Параметры
| Имя | Тип | Аргумент | Значение по умолчанию | Описание |
|---|---|---|---|---|
frameRate | number | <optional> | null | Частота кадров для воспроизведения анимации. Скорость задаётся в кадрах в секунду. Если не указано, используется ранее заданная частота кадров анимации. |
loop | boolean | <optional> | false | Анимация должна быть циклической после воспроизведения. Если не указано, используется ранее установленное значение цикла анимации. |
killOnComplete | boolean | <optional> | false | Если установлено в true, когда анимация завершается (происходит только если loop=false), родительский Sprite будет уничтожен. |
Возвращаемое значение
previous(quantity)
Перемещает анимацию назад на заданное число кадров, учитывая значение цикла.
Параметры
| Имя | Тип | Аргумент | Значение по умолчанию | Описание |
|---|---|---|---|---|
quantity | number | <optional> | 1 | Количество кадров для перемещения назад. |
restart()
Возвращает анимацию к первому кадру и перезапускает её.
reverse() → {Phaser.Animation}
Изменяет направление анимации.
Возвращаемое значение
Экземпляр анимации.
reverseOnce() → {Phaser.Animation}
Изменяет направление анимации только для текущей/следующей анимации.
После вызова события onComplete этот метод будет вызван снова и вернёт
обратное состояние.
Возвращаемое значение
Экземпляр анимации.
setFrame(frameId, useLocalFrameIndex)
Устанавливает воспроизведение этой анимации на заданный кадр с заданным идентификатором.
Параметры
- Исходный код: animation/Animation.js (Строка 276)
- Исходный код: animation/Animation.js (Строка 334)
- Исходный код: animation/Animation.js (Строка 393)
- Исходный код: animation/Animation.js (Строка 595)
| Имя | Тип | Аргумент | Значение по умолчанию | Описание |
|---|---|---|---|---|
frameId | строка | число | <необязательно> | Идентификатор кадра для установки. Может быть именем кадра, индексом спрайта кадра или индексом кадра локального к анимации. | |
useLocalFrameIndex | логическое значение | <необязательно> | false | Если вы предоставляете число для frameId, следует ли использовать числовые индексы frameData или индексы кадров, локальные к анимации, с индексом 0? |
stop(resetFrame, dispatchComplete)
Останавливает воспроизведение этой анимации и устанавливает ее в состояние завершения. Если указан resetFrame, воспроизведение остановится, а кадр будет установлен на первый в анимации.
Если dispatchComplete имеет значение true, будут отправлены события завершения, иначе они будут проигнорированы.
Параметры
| Имя | Тип | Аргумент | Значение по умолчанию | Описание |
|---|---|---|---|---|
resetFrame | логическое значение | <необязательно> | false | Если true, после остановки анимации значение currentFrame будет установлено на первый кадр в этой анимации. |
dispatchComplete | логическое значение | <необязательно> | false | Отправить события Animation.onComplete и parent.onAnimationComplete? |
update()
Обновляет эту анимацию. Вызывается автоматически менеджером анимации.
updateFrameData(frameData)
Изменяет объект FrameData, используемый этой анимацией.
Параметры
| Имя | Тип | Описание |
|---|---|---|
frameData | Phaser.FrameData | Объект FrameData, содержащий все кадры, используемые этой анимацией. |
© 2016 Richard Davey, Photon Storm Ltd.
Licensed under the MIT License.
http://phaser.io/docs/2.6.2/Phaser.Animation.html