Packageru.antkarlov.anthill.plugins
Classpublic class AntTween
InheritanceAntTween Inheritance Object
Implements IPlugin

Since : 26.01.2013

Класс реализации плавных трансформации каких-либо значений объектов. Класс использует различные методы для реализации разнообразных анимационных стилей.

В первую очередь этот класс реализует стандартные анимации такие как движение, затухание, поврот и т.п. Но нет никаких ограничений на то, что вы хотите трансформировать. Вы можете трансформировать любое цифровое свойство объекта (int, uint, Number). Чтобы посмотреть список возможных типов анимаций для трансформаций, посмотрите класс AntTransition.

Пример использования твина для движение объекта, вращения и затухания:

     var tween:AntTween = new AntTween(object, 2.0, AntTransition.EASE_IN_OUT);
     tween.animate("x", object.x + 50);
     tween.animate("angle", 45);
     tween.fadeTo(0); // Тоже самое что и animate("alpha", 0);
     tween.start();
     

После того как твин закончил свою анимацию, он будет автоматически помещен в кэш для повторного использования. Чтобы извлечь твин из кэша для повторного использования, используйте статический метод AntTween.get(yourObject, durationTime, transition):AntTween.

По умолчанию, при помещении твина в кэш, для него сбрасываются все пользовательские настройки, включая слушателей событий (сигналов). Чтобы отключить сброс пользовательских настроек при помещении твина в кэш, установите флаг autocachingReset = false. А если вы не хотите чтобы твин помещался в кэш, то установите флаг autocaching = false.

Вы можете вручную помещать твины в кэш используя метод AntTween.set(tween, false) — второй аргумент определяет необходимость сброса пользовательских настроек для помещаемого твина. Если установить вторым аргументом TRUE, то все пользовательские настройки будут сброшены для кэшируемого твина.

Идея и реализация подсмотрена у Starling Framework.

See also

AntTransition


Public Properties
 PropertyDefined By
  autocaching : Boolean
Автоматическое кэширование твина для повторного использования.
AntTween
  autocachingReset : Boolean
Автоматический сброс пользовательских настроек при помещении твина в кэш.
AntTween
  autoStartOfNextTween : Boolean
Определяет автоматический переход к следующему твину, если он указан.
AntTween
  completeArgs : Array
Пользовательские аргументы которые могут быть переданы в событие при завершении твина.
AntTween
  currentTime : Number
[read-only] Возвращает текущее время выполнения твина.
AntTween
  delay : Number
Определяет задержку перед стартом твина.
AntTween
  eventComplete : AntSignal
Событие срабатывающее при завершении выполнения твина.
AntTween
  eventRepeat : AntSignal
Событие срабатывающее каждый повтор твина.
AntTween
  eventStart : AntSignal
Событие срабатывающее при запуске твина.
AntTween
  eventUpdate : AntSignal
Событие срабатывающее каждый тик твина.
AntTween
  isComplete : Boolean
[read-only] Определяет завершено выполнения твина или нет.
AntTween
  nextTween : AntTween
Указатель на следующий твин.
AntTween
  priority : int
Задает приоритет для плагина.
AntTween
  repeatArgs : Array
Пользовательские аргументы которые могут быть переданы в событие при каждом повторе твина.
AntTween
  repeatCount : int
Определяет количество циклов выполнения.
AntTween
  repeatDelay : Number
Определяет задержку перед тем как будет выполнен переход к следующему циклу.
AntTween
  reverse : Boolean
Определяет необходимо ли выполнить реверс трансформации.
AntTween
  roundToInt : Boolean
Определяет следует ли округлять трансформируемое значение.
AntTween
  startArgs : Array
Пользовательские аргументы которые могут быть переданы в событие при запуске твина.
AntTween
  tag : String
Задает идентификатор для плагина.
AntTween
  target : Object
[read-only] Возвращает указатель на объект для которого выполняются трансформации.
AntTween
  totalTime : Number
[read-only] Возвращает общее время необходимое для выполнения твина.
AntTween
  transition : String
Определяет стиль перехода.
AntTween
  transitionFunc : Function
Определяет метод использующийся для рассчетов перехода.
AntTween
  updateArgs : Array
Пользовательские аргументы которые могут быть переданы в событие при каждом тике твина.
AntTween
Protected Properties
 PropertyDefined By
  _cache : Vector.<AntTween>
[static] Список твинов помещенных в кэш.
AntTween
  _currentCycle : int
Текущий цикл выполнения.
AntTween
  _currentTime : Number
Текущее время.
AntTween
  _delay : Number
Задержка.
AntTween
  _endValues : Vector.<Number>
Конечные значения свойств объекта которые трансформируются.
AntTween
  _isStarted : Boolean
Определяет запущена работа твина или нет.
AntTween
  _numCacheItems : int = 0
[static] Количество твинов в кэше.
AntTween
  _priority : int
Приоритет плагина.
AntTween
  _properties : Vector.<String>
Список свойств объекта которые трансформируются.
AntTween
  _startValues : Vector.<Number>
Начальные значения свойств объекта которые трансформируются.
AntTween
  _tag : String
Идентификатор плагина.
AntTween
  _target : Object
Объект к которому применяются трансформации.
AntTween
  _totalTime : Number
Общее время отведенное на трансформации.
AntTween
  _transitionFunc : Function
Указатель на метод который используется для рассчетов.
AntTween
  _transitionName : String
Имя метода который используется для рассчетов.
AntTween
Public Methods
 MethodDefined By
  
AntTween(aTarget:Object, aTime:Number, aTransition:Object = linear)
AntTween
  
animate(aProperty:String, aEndValue:Number):void
Задает атрибут объекта к которому будут применятся действия твинера.
AntTween
  
destroy():void
Уничтожает твин перед его полным удалением.
AntTween
  
draw(aCamera:AntCamera):void
Вызывается автоматически каждый кадр когда плагин добавлен в структуру Anthill методом AntG.addPlugin().
AntTween
  
fadeTo(aAlpha:Number):void
Трансформирует свойства объекта alpha.
AntTween
  
get(aTarget:Object, aTime:Number, aTransition:Object = linear):AntTween
[static] Извлекает свободный твин из кэша и подготавливает его к работе.
AntTween
  
getEndValue(aProperty:String):Number
Извлекает финальное значение для указанного свойства.
AntTween
  
[static] Возвращает количество объектов в кэше.
AntTween
  
moveTo(aX:Number, aY:Number):void
Трансформирует свойства объекта x и y.
AntTween
  
reset(aTarget:Object, aTime:Number, aTransition:Object = linear):AntTween
Сбрасывает параметры твина на значения по умолчанию.
AntTween
  
scaleTo(aValue:Number):void
Трансформирует свойства объекта scaleX и scaleY.
AntTween
  
set(aTween:AntTween, aResetProperties:Boolean = true):void
[static] Помещает твин в кэш для последующего использования.
AntTween
  
start():void
Запускает работу твина.
AntTween
  
stop():void
Останавливает работу твина.
AntTween
  
update():void
Вызывается автоматически каждый кадр когда плагин добавлен в стркутуру Anthill методом AntG.addPlugin().
AntTween
Protected Methods
 MethodDefined By
  
updateTween(aTime:Number):void
Процессинг твина.
AntTween
Public Constants
 ConstantDefined By
  MAX_CACHE_CAPACITY : int = 30
[static] Максимальная вместимость кэша.
AntTween
Property Detail
_cacheproperty
protected static var _cache:Vector.<AntTween>

Список твинов помещенных в кэш.

_currentCycleproperty 
protected var _currentCycle:int

Текущий цикл выполнения.

_currentTimeproperty 
protected var _currentTime:Number

Текущее время.

_delayproperty 
protected var _delay:Number

Задержка.

_endValuesproperty 
protected var _endValues:Vector.<Number>

Конечные значения свойств объекта которые трансформируются.

_isStartedproperty 
protected var _isStarted:Boolean

Определяет запущена работа твина или нет.

_numCacheItemsproperty 
protected static var _numCacheItems:int = 0

Количество твинов в кэше.

_priorityproperty 
protected var _priority:int

Приоритет плагина.

_propertiesproperty 
protected var _properties:Vector.<String>

Список свойств объекта которые трансформируются.

_startValuesproperty 
protected var _startValues:Vector.<Number>

Начальные значения свойств объекта которые трансформируются.

_tagproperty 
protected var _tag:String

Идентификатор плагина.

_targetproperty 
protected var _target:Object

Объект к которому применяются трансформации.

The default value is null.

_totalTimeproperty 
protected var _totalTime:Number

Общее время отведенное на трансформации.

_transitionFuncproperty 
protected var _transitionFunc:Function

Указатель на метод который используется для рассчетов.

The default value is null.

_transitionNameproperty 
protected var _transitionName:String

Имя метода который используется для рассчетов.

The default value is "linear".

autocachingproperty 
public var autocaching:Boolean

Автоматическое кэширование твина для повторного использования.

The default value is true.

autocachingResetproperty 
public var autocachingReset:Boolean

Автоматический сброс пользовательских настроек при помещении твина в кэш.

The default value is true.

autoStartOfNextTweenproperty 
public var autoStartOfNextTween:Boolean

Определяет автоматический переход к следующему твину, если он указан.

The default value is true.

completeArgsproperty 
public var completeArgs:Array

Пользовательские аргументы которые могут быть переданы в событие при завершении твина.

The default value is null.

currentTimeproperty 
currentTime:Number  [read-only]

Возвращает текущее время выполнения твина.


Implementation
    public function get currentTime():Number
delayproperty 
delay:Number

Определяет задержку перед стартом твина.


Implementation
    public function get delay():Number
    public function set delay(value:Number):void
eventCompleteproperty 
public var eventComplete:AntSignal

Событие срабатывающее при завершении выполнения твина.

eventRepeatproperty 
public var eventRepeat:AntSignal

Событие срабатывающее каждый повтор твина.

eventStartproperty 
public var eventStart:AntSignal

Событие срабатывающее при запуске твина.

eventUpdateproperty 
public var eventUpdate:AntSignal

Событие срабатывающее каждый тик твина.

isCompleteproperty 
isComplete:Boolean  [read-only]

Определяет завершено выполнения твина или нет.


Implementation
    public function get isComplete():Boolean
nextTweenproperty 
public var nextTween:AntTween

Указатель на следующий твин. Не используется твинером.

The default value is null.

priorityproperty 
priority:int

Задает приоритет для плагина.

Приоритет влияет только на порядок обновления и отрисовки плагинов. Плагины с наибольшим приоритетом выполняются в первую очередь чем с наименьшим.


Implementation
    public function get priority():int
    public function set priority(value:int):void
repeatArgsproperty 
public var repeatArgs:Array

Пользовательские аргументы которые могут быть переданы в событие при каждом повторе твина.

The default value is null.

repeatCountproperty 
public var repeatCount:int

Определяет количество циклов выполнения.

The default value is 1.

repeatDelayproperty 
public var repeatDelay:Number

Определяет задержку перед тем как будет выполнен переход к следующему циклу.

The default value is 0.

reverseproperty 
public var reverse:Boolean

Определяет необходимо ли выполнить реверс трансформации. Если true то при каждом повторе трансформация будет реверсирована (выполнятся в обратную сторону).

The default value is false.

roundToIntproperty 
public var roundToInt:Boolean

Определяет следует ли округлять трансформируемое значение.

The default value is false.

startArgsproperty 
public var startArgs:Array

Пользовательские аргументы которые могут быть переданы в событие при запуске твина.

The default value is null.

tagproperty 
tag:String

Задает идентификатор для плагина.

Используя идентификаторы можно объеденять плагины в группы и, например, останавливать сразу несколько плагинов и возобновлять их работу.


Implementation
    public function get tag():String
    public function set tag(value:String):void
targetproperty 
target:Object  [read-only]

Возвращает указатель на объект для которого выполняются трансформации.


Implementation
    public function get target():Object
totalTimeproperty 
totalTime:Number  [read-only]

Возвращает общее время необходимое для выполнения твина.


Implementation
    public function get totalTime():Number
transitionproperty 
transition:String

Определяет стиль перехода.


Implementation
    public function get transition():String
    public function set transition(value:String):void
transitionFuncproperty 
transitionFunc:Function

Определяет метод использующийся для рассчетов перехода.


Implementation
    public function get transitionFunc():Function
    public function set transitionFunc(value:Function):void
updateArgsproperty 
public var updateArgs:Array

Пользовательские аргументы которые могут быть переданы в событие при каждом тике твина.

The default value is null.

Constructor Detail
AntTween()Constructor
public function AntTween(aTarget:Object, aTime:Number, aTransition:Object = linear)

Parameters
aTarget:Object
 
aTime:Number
 
aTransition:Object (default = linear)
Method Detail
animate()method
public function animate(aProperty:String, aEndValue:Number):void

Задает атрибут объекта к которому будут применятся действия твинера. Количество одновременно изменяемых атрибутов не ограничено. Данный метод может быть вызван для одного твина много раз.

Parameters

aProperty:String — Имя атрибута на которое будет воздействовать твинер.
 
aEndValue:Number — Конечное значение которого необходимо достигнуть.

destroy()method 
public function destroy():void

Уничтожает твин перед его полным удалением.

draw()method 
public function draw(aCamera:AntCamera):void

Вызывается автоматически каждый кадр когда плагин добавлен в структуру Anthill методом AntG.addPlugin().

Если ваш плагин не имеет средств визуализации, то просто оставьте этот метод пустым.

Parameters

aCamera:AntCamera — Указатель на текущую камеру.

fadeTo()method 
public function fadeTo(aAlpha:Number):void

Трансформирует свойства объекта alpha.

Parameters

aAlpha:Number — Значения свойства alpha.

get()method 
public static function get(aTarget:Object, aTime:Number, aTransition:Object = linear):AntTween

Извлекает свободный твин из кэша и подготавливает его к работе. Если в кэше нет свободных твинов, то будет создан и возвращен новый экземпляр твина.

Parameters

aTarget:Object — Указатель на объект к которому применяется твинер.
 
aTime:Number — Продолжительность работы твинера.
 
aTransition:Object (default = linear) — Тип анимации твина.

Returns
AntTween — Возвращает свободный твин из кэша.
getEndValue()method 
public function getEndValue(aProperty:String):Number

Извлекает финальное значение для указанного свойства.

Parameters

aProperty:String — Имя свойства для которого необходимо получить финальное значение.

Returns
Number — Возвращает значение для указанного свойства.
getNumCacheItems()method 
public static function getNumCacheItems():int

Возвращает количество объектов в кэше.

Returns
int
moveTo()method 
public function moveTo(aX:Number, aY:Number):void

Трансформирует свойства объекта x и y.

Parameters

aX:Number — Значение свойства x которого необходимо достигнуть.
 
aY:Number — Значение свойства y которого необходимо достигнуть.

reset()method 
public function reset(aTarget:Object, aTime:Number, aTransition:Object = linear):AntTween

Сбрасывает параметры твина на значения по умолчанию.

Parameters

aTarget:Object — Указатель на объект к которому применяется твинер.
 
aTime:Number — Продолжительность работы твинера.
 
aTransition:Object (default = linear) — Тип анимации твина.

Returns
AntTween — Возвращает указатель на себя.
scaleTo()method 
public function scaleTo(aValue:Number):void

Трансформирует свойства объекта scaleX и scaleY.

Parameters

aValue:Number — Значение свойства scaleX и scaleY которого необходимо достигнуть.

set()method 
public static function set(aTween:AntTween, aResetProperties:Boolean = true):void

Помещает твин в кэш для последующего использования.

Parameters

aTween:AntTween — Твин который будет помещен в кэш.
 
aResetProperties:Boolean (default = true) — Определяет следует ли очистить пользовательские настройки твина перед его отправкой в кэш.

start()method 
public function start():void

Запускает работу твина.

stop()method 
public function stop():void

Останавливает работу твина.

update()method 
public function update():void

Вызывается автоматически каждый кадр когда плагин добавлен в стркутуру Anthill методом AntG.addPlugin().

updateTween()method 
protected function updateTween(aTime:Number):void

Процессинг твина.

Parameters

aTime:Number

Constant Detail
MAX_CACHE_CAPACITYConstant
public static const MAX_CACHE_CAPACITY:int = 30

Максимальная вместимость кэша.