Packagemx.effects
Classpublic class Tween
InheritanceTween Inheritance flash.events.EventDispatcher

The Tween class defines a tween, a property animation performed on a target object over a period of time. That animation can be a change in position, such as performed by the Move effect; a change in size, as performed by the Resize or Zoom effects; a change in visibility, as performed by the Fade or Dissolve effects; or other types of animations.

When defining tween effects, you typically create an instance of the Tween class within your override of the EffectInstance.play() method. A Tween instance accepts the startValue, endValue, and duration properties, and an optional easing function to define the animation.

The Tween object invokes the mx.effects.effectClasses.TweenEffectInstance.onTweenUpdate() callback function on a regular interval on the effect instance for the duration of the effect, passing to the onTweenUpdate() method an interpolated value between the startValue and endValue. Typically, the callback function updates some property of the target object, causing that object to animate over the duration of the effect.

When the effect ends, the Tween objects invokes the mx.effects.effectClasses.TweenEffectInstance.onTweenEnd() callback function, if you defined one.

See also

mx.effects.TweenEffect
mx.effects.effectClasses.TweenEffectInstance


Public Properties
 PropertyDefined by
  duration : Number = 3000
Duration of the animation, in milliseconds.
Tween
  easingFunction : Function
[write-only] Sets the easing function for the animation.
Tween
  listener : Object
Object that is notified at each interval of the animation.
Tween
Public Methods
 MethodDefined by
  
Tween(listener:Object, startValue:Object, endValue:Object, duration:Number = -1, minFps:Number = -1, updateFunction:Function = null, endFunction:Function = null)
Constructor.
Tween
  
endTween():void
Interrupt the tween, jump immediately to the end of the tween, and invoke the onTweenEnd() callback function.
Tween
  
pause():void
Pauses the effect until you call the resume() method.
Tween
  
resume():void
Resumes the effect after it has been paused by a call to the pause() method.
Tween
  
reverse():void
Plays the effect in reverse, starting from the current position of the effect.
Tween
  
seek(playheadTime:Number):void
Advances the tween effect to the specified position.
Tween
  
setTweenHandlers(updateFunction:Function, endFunction:Function):void
By default, the Tween class invokes the mx.effects.effectClasses.TweenEffectInstance.onTweenUpdate() callback function on a regular interval on the effect instance for the duration of the effect, and the optional mx.effects.effectClasses.TweenEffectInstance.onTweenEnd() callback function at the end of the effect duration.
Tween
  
stop():void
Stops the tween, ending it without dispatching an event or calling the Tween's endFunction or onTweenEnd().
Tween
Property detail
durationproperty
public var duration:Number = 3000

Duration of the animation, in milliseconds.

easingFunctionproperty 
easingFunction:Function  [write-only]

Sets the easing function for the animation. The easing function is used to interpolate between the startValue value and the endValue. A trivial easing function does linear interpolation, but more sophisticated easing functions create the illusion of acceleration and deceleration, which makes the animation seem more natural.

If no easing function is specified, an easing function based on the Math.sin() method is used.

The easing function follows the function signature popularized by Robert Penner. The function accepts four arguments. The first argument is the "current time", where the animation start time is 0. The second argument is a the initial value at the beginning of the animation (a Number). The third argument is the ending value minus the initial value. The fourth argument is the duration of the animation. The return value is the interpolated value for the current time (usually a value between the initial value and the ending value).

Flex includes a set of easing functions in the mx.effects.easing package.

Implementation
    public function set easingFunction(value:Function):void
listenerproperty 
public var listener:Object

Object that is notified at each interval of the animation.

Constructor detail
Tween()constructor
public function Tween(listener:Object, startValue:Object, endValue:Object, duration:Number = -1, minFps:Number = -1, updateFunction:Function = null, endFunction:Function = null)

Constructor.

When the constructor is called, the animation automatically starts playing.

Parameters
listener:Object — Object that is notified at each interval of the animation. You typically pass the this keyword as the value. The listener must define the onTweenUpdate() method and optionally the onTweenEnd() method. The former method is invoked for each interval of the animation, and the latter is invoked just after the animation finishes.
 
startValue:Object — Initial value(s) of the animation. Either a number or an array of numbers. If a number is passed, the Tween interpolates between this number and the number passed in the endValue parameter. If an array of numbers is passed, each number in the array is interpolated.
 
endValue:Object — Final value(s) of the animation. The type of this argument must match the startValue parameter.
 
duration:Number (default = -1) — Duration of the animation, expressed in milliseconds.
 
minFps:Number (default = -1) — Minimum number of times that the onTweenUpdate() method should be called every second. The tween code tries to call the onTweenUpdate() method as frequently as possible (up to 100 times per second). However, if the frequency falls below minFps, the duration of the animation automatically increases. As a result, an animation that temporarily freezes (because it is not getting any CPU cycles) begins again where it left off, instead of suddenly jumping ahead.
 
updateFunction:Function (default = null) — Specifies an alternative update callback function to be used instead of listener.OnTweenUpdate()
 
endFunction:Function (default = null) — Specifies an alternative end callback function to be used instead of listener.OnTweenEnd()
Method detail
endTween()method
public function endTween():void

Interrupt the tween, jump immediately to the end of the tween, and invoke the onTweenEnd() callback function.

pause()method 
public function pause():void

Pauses the effect until you call the resume() method.

resume()method 
public function resume():void

Resumes the effect after it has been paused by a call to the pause() method.

reverse()method 
public function reverse():void

Plays the effect in reverse, starting from the current position of the effect.

seek()method 
public function seek(playheadTime:Number):void

Advances the tween effect to the specified position.

Parameters
playheadTime:Number — The position, in milliseconds, between 0 and the value of the duration property.
setTweenHandlers()method 
public function setTweenHandlers(updateFunction:Function, endFunction:Function):void

By default, the Tween class invokes the mx.effects.effectClasses.TweenEffectInstance.onTweenUpdate() callback function on a regular interval on the effect instance for the duration of the effect, and the optional mx.effects.effectClasses.TweenEffectInstance.onTweenEnd() callback function at the end of the effect duration.

This method lets you specify different methods as the update and the end callback functions.

Parameters
updateFunction:Function — Specifies the update callback function.
 
endFunction:Function — Specifies the end callback function.
stop()method 
public function stop():void

Stops the tween, ending it without dispatching an event or calling the Tween's endFunction or onTweenEnd().