Класс: Phaser.Tween
Конструктор
new Tween(target, game, manager)
Tween позволяет изменить одну или несколько свойств целевого объекта в течение определенного периода времени.
Это можно использовать для таких задач, как плавное изменение альфа-прозрачности Sprite, масштабирования или перемещения.
Используйте Tween.to или Tween.from для задания значений tween. Можно создать несколько tween для одного объекта
вызвав Tween.to несколько раз для одного и того же Tween. Дополнительные tween, заданные таким образом, становятся "дочерними" tween и
проигрываются последовательно. Можно использовать Tween.timeScale и Tween.reverse для управления воспроизведением этого Tween и всех его дочерних элементов.
Параметры
| Имя | Тип | Описание |
|---|---|---|
target | объект | Целевой объект, например, Phaser.Sprite или Phaser.Sprite.scale. |
game | Phaser.Game | Текущая инстанция игры. |
manager | Phaser.TweenManager | TweenManager, отвечающий за управление этим Tween. |
- Исходный код: tween/Tween.js (Строка 20)
Общедоступные свойства
- Source code: tween/Tween.js (Line 130)
- Source code: tween/Tween.js (Line 120)
- Source code: tween/Tween.js (Line 152)
- Source code: tween/Tween.js (Line 25)
- Source code: tween/Tween.js (Line 136)
- Source code: tween/Tween.js (Line 113)
- Source code: tween/Tween.js (Line 35)
- Source code: tween/Tween.js (Line 100)
- Source code: tween/Tween.js (Line 107)
- Source code: tween/Tween.js (Line 85)
- Source code: tween/Tween.js (Line 92)
- Source code: tween/Tween.js (Line 77)
- Source code: tween/Tween.js (Line 70)
- Source code: tween/Tween.js (Line 125)
- Source code: tween/Tween.js (Line 63)
- Source code: tween/Tween.js (Line 49)
- Source code: tween/Tween.js (Line 30)
- Source code: tween/Tween.js (Line 40)
- Default Value
- 1
- Source code: tween/Tween.js (Line 58)
- Source code: tween/Tween.js (Line 893)
chainedTween : Phaser.Tween
Если этот Tween привязан к другому, здесь хранится ссылка на него.
[readonly] current : number
Текущий дочерний Tween, выполняющийся.
frameBased : boolean
Этот Tween основан на кадрах или времени? Tween, основанный на кадрах, будет использовать таймер физического интервала при обновлении. Это означает,
что он будет поддерживать одинаковую частоту кадров независимо от скорости устройства. Значение длительности должно
быть задано в кадрах.
Если Tween использует обновление по времени (что является значением по умолчанию), то длительность задаётся в миллисекундах.
В этом случае tween длительностью 2000 мс продлится ровно 2 секунды, независимо от устройства и того, сколько визуальных обновлений tween
фактически прошло. Для очень коротких tweens вы можете попробовать использовать обновление по кадрам вместо этого.
Значение по умолчанию — то, что вы установили в TweenManager.frameBased.
game : Phaser.Game
Ссылка на текущую игру.
isPaused : boolean
Этот Tween приостановлен или нет?
isRunning : boolean
Если tween выполняется, это значение равно true, иначе false. Tweens, находящиеся в состоянии ожидания или ожидающие начала, считаются выполняющимися.
manager : Phaser.TweenManager
Ссылка на TweenManager, ответственный за обновление этого Tween.
onChildComplete : Phaser.Signal
Событие onChildComplete срабатывает при завершении Tween или любого из его дочерних объектов.
Срабатывает каждый раз, когда завершается дочерний объект, если дочерний объект не установлен для постоянного повторения.
Будет отправлено 2 параметра: целевой объект и этот tween.
onComplete : Phaser.Signal
Событие onComplete срабатывает при завершении Tween и всех его дочерних объектов. Не срабатывает, если Tween установлен на циклическое или повторяющееся выполнение всех(-1).
Будет отправлено 2 параметра: целевой объект и этот tween.
onLoop : Phaser.Signal
Событие onLoop срабатывает, если Tween или любые дочерние tweens циклически повторяются.
Будет отправлено 2 параметра: целевой объект и этот tween.
onRepeat : Phaser.Signal
Событие onRepeat срабатывает, если Tween и все его дочерние объекты повторяются. Если у этого tween нет дочерних объектов, это событие никогда не будет вызвано.
Будет отправлено 2 параметра: целевой объект и этот tween.
onStart : Phaser.Signal
Событие onStart срабатывает, когда Tween запускается. Если перед началом tween есть задержка, то onStart срабатывает после окончания задержки.
Будет отправлено 2 параметра: целевой объект и этот tween.
[readonly] pendingDelete : boolean
True, если этот Tween готов к удалению TweenManager.
properties : Object
Кэш свойств целевого объекта, используемый при построении значений данных дочерних объектов.
repeatCounter : number
Если Tween и любые дочерние tweens настроены на повторение, здесь хранится текущее количество повторений.
reverse : boolean
Если установлено true, текущий tween будет воспроизводиться в обратном порядке.
Если tween ещё не начался, это не повлияет.
Если есть дочерние tweens, все дочерние tweens будут воспроизводиться в обратном порядке с текущей точки.
target : Object
Целевой объект, например, Phaser.Sprite или свойство, такое как Phaser.Sprite.scale.
timeline : Array
Массив объектов TweenData, составляющих различные части этого Tween.
timeScale : number
Скорость выполнения tweens. Значение 1 соответствует частоте кадров игры. 0,5 будет выполняться в два раза медленнее. 2 в два раза быстрее и т. д.
Если длительность tweens составляет 1 секунду, а timeScale равен 0,5, то для завершения потребуется 2 секунды.
totalDuration : Phaser.TweenData
Получает общую длительность этого Tween, включая все дочерние tweens, в миллисекундах.
Публичные методы
- Исходный код: tween/Tween.js (Строка 566)
- Исходный код: tween/Tween.js (Строка 408)
- Исходный код: tween/Tween.js (Строка 504)
- Исходный код: tween/Tween.js (Строка 237)
chain(tweens) → {Phaser.Tween}
Этот метод позволяет объединять твины в цепочку. Любой твин, присоединённый к этому твину, вызовет метод Tween.start сразу после завершения этого твина.
Если этот твин никогда не завершается (например, repeatAll или loop установлены), цепочка никогда не будет продолжена.
Обратите внимание, что Tween.onComplete сработает при завершении этого твина, а не всей цепочки.
Для этого следует прислушаться к onComplete последнего твина в цепочке.
Если вы передаёте несколько твинов в этот метод, они будут объединены в одну длинную цепочку.
Например, если это твин A, а вы передаёте B, C и D, то B будет присоединён к A, C — к B, а D — к C.
Любые ранее присоединённые твины будут перезаписаны.
Parameters
| Name | Type | Argument | Описание |
|---|---|---|---|
tweens | Phaser.Tween | <repeatable> | Один или несколько твинов, которые будут присоединены к этому. |
Returns
Этот твин. Полезно для цепочки методов.
delay(duration, index) → {Phaser.Tween}
Устанавливает задержку в миллисекундах перед началом этого твина. Если есть дочерние твины, устанавливает задержку перед началом первого дочернего твина.
Задержка вызывается сразу после вызова Tween.start. Если твин уже запущен, этот метод ничего не делает для текущего активного твина.
Если вы ещё не вызвали Tween.to или Tween.from, этот метод ничего не сделает, так как нет твинов для задержки.
Если у вас есть дочерние твины и вы передаёте -1 в качестве значения index, устанавливается задержка для всех из них.
Parameters
| Name | Type | Argument | Значение по умолчанию | Описание |
|---|---|---|---|---|
duration | number | Время ожидания твина в мс до начала, после вызова start(). Установите ноль, чтобы удалить активную задержку. | ||
index | number | <optional> | 0 | Если у этого твина более одного дочернего твина, это позволяет нацелить определенный дочерний твин. Если задано -1, устанавливает задержку для всех дочерних твинов. |
Returns
Этот твин. Полезно для цепочки методов.
easing(ease, index) → {Phaser.Tween}
Установить функцию сглаживания, которую будет использовать этот твин, например, Phaser.Easing.Linear.None.
Функция сглаживания позволяет определить скорость изменения. Можно передать функцию, такую как Phaser.Easing.Circular.Out, или строку, такую как "Circ".
Поддерживаются варианты ".easeIn", ".easeOut" и "easeInOut" для всех типов сглаживания.
Если у твина есть дочерние твины и передаётся -1 в качестве индекса, функция сглаживания, определённая здесь, устанавливается для всех из них.
Parameters
| Name | Type | Argument | Значение по умолчанию | Описание |
|---|---|---|---|---|
ease | function | string | Функция сглаживания, которую будет использовать этот твин, например, Phaser.Easing.Linear.None. | ||
index | number | <optional> | 0 | Если у этого твина есть более одного дочернего твина, это позволяет нацелить определенный дочерний твин. Если задано -1, функция сглаживания устанавливается для всех дочерних твинов. |
Returns
Этот твин. Полезно для цепочки методов.
from(properties, duration, ease, autoStart, delay, repeat, yoyo) → {Phaser.Tween}
Устанавливает этот твин как твин from по заданным свойствам. Твин from устанавливает целевое значение и анимирует его до текущего значения.
Например, если у Sprite есть координата x 100, а анимируется от x 500, то сначала он установится на x 500, а затем будет анимирован до x 100 при помощи объекта свойств { x: 500 }.
Функция сглаживания позволяет определить скорость изменения. Можно передать функцию, такую как Phaser.Easing.Circular.Out, или строку, такую как "Circ".
Поддерживаются варианты ".easeIn", ".easeOut" и "easeInOut" для всех типов сглаживания.
Parameters
| Name | Type | Argument | Значение по умолчанию | Описание |
|---|---|---|---|---|
properties | object | Объект, содержащий свойства, которые необходимо анимировать, например | ||
duration | number | <optional> | 1000 | Продолжительность твина в мс. Или, если |
ease | function | string | <optional> | null | Функция сглаживания. Если не указана, по умолчанию используется Phaser.Easing.Default, которая по умолчанию равна Phaser.Easing.Linear.None, но может быть переопределена. |
autoStart | boolean | <optional> | false | Установите |
delay | number | <optional> | 0 | Задержка перед началом твина в миллисекундах. По умолчанию 0, без задержки. |
repeat | number | <optional> | 0 | Автоматически перезапустить твин при завершении? Если вы хотите, чтобы он работал вечно, установите значение -1. Это влияет только на этот конкретный твин, а не на любые присоединённые твины. |
yoyo | boolean | <optional> | false | Твин, который будет переигрываться в обратном направлении. Автоматически возвращается и играет назад. Твин, который переигрывается, не вызывает событие Tween.onComplete, поэтому подпишитесь на Tween.onLoop. |
Returns
Объект Tween.
generateData(frameRate, data) → {array}
Этот метод генерирует массив, заполненный значениями анимированных объектов от начала до конца.
Он работает, моделируя твин с заданной частотой кадров, основываясь на значениях, установленных в Tween.to и Tween.from.
Он игнорирует задержку и счётчики повторов, а также любые присоединённые твины, но включает дочерние твины.
Возвращается только один проход данных твина, включая yoyo, если он установлен.
Parameters
- Исходный код: tween/Tween.js (Строка 840)
- Исходный код: tween/Tween.js (Строка 526)
- Исходный код: tween/Tween.js (Строка 600)
- Исходный код: tween/Tween.js (Строка 626)
- Исходный код: tween/Tween.js (Строка 643)
- Исходный код: tween/Tween.js (Строка 425)
- Исходный код: tween/Tween.js (Строка 548)
| Имя | Тип | Аргумент | Значение по умолчанию | Описание |
|---|---|---|---|---|
frameRate | число | <необязательно> | 60 | Скорость генерации данных в кадрах в секунду. Чем выше значение, тем больше массив создается. |
data | массив | <необязательно> | Если задано, сгенерированные данные будут добавлены в этот массив, в противном случае будет возвращен новый массив. |
Возвращаемое значение
Массив с интерполированными значениями.
interpolation(interpolation, контекст, индекс) → {Phaser.Tween}
Устанавливает функцию интерполяции, которую будет использовать анимация. По умолчанию используется Phaser.Math.linearInterpolation.
Также доступны: Phaser.Math.bezierInterpolation и Phaser.Math.catmullRomInterpolation.
Функция интерполяции используется только если целевые свойства являются массивом.
Если у вас есть дочерние анимации и вы передаете -1 в качестве значения индекса, она установит функцию интерполяции для всех из них.
Параметры
| Имя | Тип | Аргумент | Значение по умолчанию | Описание |
|---|---|---|---|---|
interpolation | функция | Функция интерполяции (по умолчанию Phaser.Math.linearInterpolation) | ||
context | объект | <необязательно> | Контекст, в котором будет выполняться функция интерполяции. | |
index | число | <необязательно> | 0 | Если у этой анимации есть дочерние, это позволяет нацелится на определенную дочернюю анимацию. Если установлено -1, это установит функцию интерполяции для всех дочерних. |
Возвращаемое значение
Эта анимация. Полезно для цепочки методов.
loop(значение) → {Phaser.Tween}
Включает циклическое повторение этой анимации. Анимация будет циклически повторяться бесконечно, и событие onComplete никогда не будет срабатывать.
Если value равно true, это то же самое, что установить Tween.repeatAll(-1).
Если value равно false, это то же самое, что установить Tween.repeatAll(0) и сбросить repeatCounter до нуля.
Пример использования:
game.add.tween(p).to({ x: 700 }, 1000, Phaser.Easing.Linear.None, true)
.to({ y: 300 }, 1000, Phaser.Easing.Linear.None)
.to({ x: 0 }, 1000, Phaser.Easing.Linear.None)
.to({ y: 0 }, 1000, Phaser.Easing.Linear.None)
.loop();
Параметры
| Имя | Тип | Аргумент | Значение по умолчанию | Описание |
|---|---|---|---|---|
value | логическое | <необязательно> | true | Если |
Возвращаемое значение
Эта анимация. Полезно для цепочки методов.
onUpdateCallback(callback, callbackContext) → {Phaser.Tween}
Устанавливает обратный вызов, который будет вызываться каждый раз, когда эта анимация обновляется.
Параметры
| Имя | Тип | Описание |
|---|---|---|
callback | функция | Обратный вызов для вызова каждый раз, когда эта анимация обновляется. Установите |
callbackContext | объект | Контекст, в котором будет вызван обратный вызов onUpdate. |
Возвращаемое значение
Эта анимация. Полезно для цепочки методов.
pause()
Приостанавливает анимацию. Возобновить воспроизведение с помощью Tween.resume.
repeat(total, repeat, index) → {Phaser.Tween}
Устанавливает количество повторений этой анимации.
Если вы еще не вызвали Tween.to или Tween.from хотя бы один раз, то этот метод ничего не сделает, так как нет анимаций для повторения.
Если у вас есть дочерние анимации и вы передаете -1 в качестве значения индекса, это устанавливает количество повторений для всех из них.
Если вы хотите определить, сколько раз эта анимация и все ее дочерние будут повторяться, см. Tween.repeatAll.
Параметры
| Имя | Тип | Аргумент | Значение по умолчанию | Описание |
|---|---|---|---|---|
total | число | Количество повторений анимации перед завершением. Установите ноль для удаления активного повторения. Установите -1 для бесконечного повторения. | ||
repeat | число | <необязательно> | 0 | Это количество времени паузы (в мс) перед началом повторения. |
index | число | <необязательно> | 0 | Если у этой анимации есть более одной дочерней анимации, это позволяет нацелиться на определенную дочернюю. Если установлено -1, это установит значение повторения для всех дочерних. |
Возвращаемое значение
Эта анимация. Полезно для цепочки методов.
repeatAll(total) → {Phaser.Tween}
Устанавливает количество повторений этой анимации и всех ее дочерних анимаций.
Анимация (A) с тремя дочерними анимациями (B,C,D) со значением repeatAll равным 2 будет воспроизводиться как: ABCDABCD перед завершением.
Параметры
| Имя | Тип | Аргумент | Значение по умолчанию | Описание |
|---|---|---|---|---|
total | число | <необязательно> | 0 | Количество повторений этой анимации и всех дочерних перед завершением. Установите ноль для удаления активного повторения. Установите -1 для бесконечного повторения. |
Возвращаемое значение
Эта анимация. Полезно для цепочки методов.
repeatDelay(duration, индекс) → {Phaser.Tween}
- Source code: tween/Tween.js (Line 447)
- Source code: tween/Tween.js (Line 675)
- Source code: tween/Tween.js (Line 284)
- Source code: tween/Tween.js (Line 340)
- Source code: tween/Tween.js (Line 190)
- Source code: tween/Tween.js (Line 717)
Устанавливает задержку в миллисекундах перед тем, как этот твин повторится.
repeatDelay вызывается, как только вы вызываете Tween.start. Если твин уже запущен, этот метод ничего не делает для текущего активного твина.
Если вы еще не вызывали Tween.to или Tween.from хотя бы один раз, то этот метод ничего не будет делать, так как нет твинов, для которых можно установить repeatDelay.
Если у вас есть дочерние твины и вы передаете -1 в качестве значения индекса, это устанавливает repeatDelay для всех из них.
Parameters
| Name | Type | Argument | Default | Description |
|---|---|---|---|---|
duration | number | Количество времени в мс, которое Tween должен ждать, пока он не повторится или не вернется после вызова start. Установите в ноль, чтобы удалить любой активный repeatDelay. | ||
index | number | <optional> | 0 | Если этот твин имеет более одного дочернего элемента, это позволяет вам нацелиться на определенного дочернего элемента. Если установлено значение -1, repeatDelay будет установлен для всех дочерних элементов. |
Returns
Этот твин. Полезно для цепочки методов.
resume()
Возобновляет приостановленный твин.
start(index) → {Phaser.Tween}
Запускает твин. Также может быть вызван параметром autoStart Tween.to или Tween.from.
Это устанавливает свойство Tween.isRunning в true и отправляет сигнал Tween.onStart.
Если для Tween установлена задержка, то ничто не начнет твинить, пока задержка не истечет.
Parameters
| Name | Type | Argument | Default | Description |
|---|---|---|---|---|
index | number | <optional> | 0 | Если этот Tween содержит дочерние твины, вы можете указать, с какого из них начать. Значение по умолчанию - ноль, то есть первый созданный твин. |
Returns
Этот твин. Полезно для цепочки методов.
stop(complete) → {Phaser.Tween}
Останавливает твин, если он запущен, и помечает его для удаления из TweenManager.
При прямом вызове сигнал Tween.onComplete не отправляется, и никакие связанные твины не запускаются, если параметр complete не установлен в true.
Если вы просто хотите приостановить твин, используйте Tween.pause.
Parameters
| Name | Type | Argument | Default | Description |
|---|---|---|---|---|
complete | boolean | <optional> | false | Установите в |
Returns
Этот твин. Полезно для цепочки методов.
to(properties, duration, ease, autoStart, delay, repeat, yoyo) → {Phaser.Tween}
Устанавливает этот твин как to твин для заданных свойств. to твин начинается с текущего значения и переходит к заданному конечному значению.
Например, Sprite с координатой x 100 может быть переведен в x 200, задав объект свойств { x: 200 }.
Функция сглаживания позволяет определить скорость изменения. Вы можете передать либо функцию, такую как Phaser.Easing.Circular.Out, либо строку, такую как "Circ".
Варианты ".easeIn", ".easeOut" и "easeInOut" поддерживаются для всех типов сглаживания.
Parameters
| Name | Type | Argument | Default | Description |
|---|---|---|---|---|
properties | object | Объект, содержащий свойства, которые вы хотите твинить, такие как | ||
duration | number | <optional> | 1000 | Длительность этого твина в мс. Или, если |
ease | function | string | <optional> | null | Функция сглаживания. Если не установлена, она будет по умолчанию равна Phaser.Easing.Default, которая по умолчанию равна Phaser.Easing.Linear.None, но может быть переопределена. |
autoStart | boolean | <optional> | false | Установите в |
delay | number | <optional> | 0 | Задержка перед началом этого твина в миллисекундах. По умолчанию 0, без задержки. |
repeat | number | <optional> | 0 | Должен ли твин автоматически перезапускаться после завершения? Если вы хотите, чтобы он работал вечно, установите -1. Это влияет только на этот отдельный твин, а не на какие-либо связанные твины. |
yoyo | boolean | <optional> | false | Твин, который yoyos, будет автоматически разворачиваться и воспроизводиться в обратном направлении. Твин с yoyo не срабатывает событие Tween.onComplete, поэтому слушайте Tween.onLoop. |
Returns
Этот объект Tween.
update(time) → {boolean}
Основная функция обновления твина, вызываемая TweenManager. Не нужно вызывать напрямую.
Parameters
| Name | Type | Description |
|---|---|---|
time | number | Отметка времени, переданная TweenManager. |
Returns
false, если твин и все дочерние твины завершены и должны быть удалены из менеджера, в противном случае true (все еще активен).
updateTweenData(property, value, index) → {Phaser.Tween}
Обновляет либо один объект TweenData, либо все свойства объектов TweenData до заданного значения.
Используется внутри методов, таких как Tween.delay, Tween.yoyo и т. д., но также может вызываться напрямую, если вы знаете, какое свойство вы хотите изменить.
Свойство не проверяется, поэтому если вы передадите недопустимое, вы получите ошибку времени выполнения.
Parameters
- Исходный код: tween/Tween.js (Строка 375)
- Исходный код: tween/Tween.js (Строка 464)
- Исходный код: tween/Tween.js (Строка 487)
| Имя | Тип | Аргумент | Значение по умолчанию | Описание |
|---|---|---|---|---|
property | string | Свойство, которое нужно обновить. | ||
value | number | function | Значение, на которое нужно установить свойство. | ||
index | number | <optional> | 0 | Если этот твинен имеет более одного дочернего элемента, это позволяет вам указать конкретный дочерний элемент. Если установлено значение -1, это задаст задержку для всех дочерних элементов. |
Возвращаемое значение
Этот твинен. Полезно для цепочки методов.
yoyo(enable, yoyoDelay, index) → {Phaser.Tween}
Твинен, у которого yoyo установлен в true, выполнит проход от начальных значений до конечных значений, а затем воспроизведёт обратное движение от конечных значений к начальным.
Используется в сочетании с repeat для создания бесконечных циклов.
Если вы ещё не вызвали Tween.to или Tween.from хотя бы один раз, то этот метод ничего не сделает, так как нет твинов для yoyo.
Если у вас есть дочерние твины и вы передаёте -1 в качестве значения index, это устанавливает свойство yoyo для всех из них.
Если вы хотите выполнить yoyo для этого твинена и всех его дочерних элементов, см. Tween.yoyoAll.
Параметры
| Имя | Тип | Аргумент | Значение по умолчанию | Описание |
|---|---|---|---|---|
enable | boolean | Установите значение true, чтобы выполнить yoyo для этого твинена, или false, чтобы отключить уже активный yoyo. | ||
yoyoDelay | number | <optional> | 0 | Это время паузы (в мс) перед запуском yoyo. |
index | number | <optional> | 0 | Если этот твинен имеет более одного дочернего элемента, это позволяет вам указать конкретный дочерний элемент. Если установлено значение -1, это задаст yoyo для всех дочерних элементов. |
Возвращаемое значение
Этот твинен. Полезно для цепочки методов.
yoyoDelay(duration, index) → {Phaser.Tween}
Устанавливает задержку в миллисекундах перед тем, как этот твинен выполнит yoyo (применяется только если yoyo включён).
repeatDelay вызывается сразу же после вызова Tween.start. Если твинен уже работает, этот метод ничего не делает для текущего активного твинена.
Если вы ещё не вызвали Tween.to или Tween.from хотя бы один раз, то этот метод ничего не сделает, так как нет твинов для установки repeatDelay.
Если у вас есть дочерние твины и вы передаёте -1 в качестве значения index, это устанавливает repeatDelay для всех из них.
Параметры
| Имя | Тип | Аргумент | Значение по умолчанию | Описание |
|---|---|---|---|---|
duration | number | Время в мс, которое твинен должен подождать, прежде чем повториться или выполнить yoyo, как только вызов start будет выполнен. Установите значение 0, чтобы удалить любую активную задержку yoyo. | ||
index | number | <optional> | 0 | Если этот твинен имеет более одного дочернего элемента, это позволяет вам указать конкретный дочерний элемент. Если установлено значение -1, это задаст задержку yoyo для всех дочерних элементов. |
Возвращаемое значение
Этот твинен. Полезно для цепочки методов.
© 2016 Richard Davey, Photon Storm Ltd.
Licensed under the MIT License.
http://phaser.io/docs/2.6.2/Phaser.Tween.html