mx.effects

# Tween - AS3 Flex

Package | mx.effects
Class | public class Tween
Inheritance | Tween EventDispatcher Object

Language Version: | ActionScript 3.0

Product Version: | Flex 3

Runtime Versions: | Flash Player 9, AIR 1.1

Tween is the underlying animation class for the effects in Flex 3. As of Flex 4, the Spark effects use the spark.effects.animation.Animation class to provide similar functionality.

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.

Learn more

About effects
Using MX effects
Handling MX effect events
About transitions

Related API Elements

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

Public Properties
Hide Inherited Public Properties
Show Inherited Public Properties

| Property | Defined By
--- | --- | ---
|  | constructor : Object A reference to the class object or constructor function for a given object instance. | Object
|  | 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
Hide Inherited Public Methods
Show Inherited Public Methods

| Method | Defined By
--- | --- | ---
|  | Tween(listener:Object, startValue:Object, endValue:Object, duration:Number = -1, minFps:Number = -1, updateFunction:Function = null, endFunction:Function = null) Constructor. | Tween
|  | addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void Registers an event listener object with an EventDispatcher object so that the listener receives notification of an event. | EventDispatcher
|  | dispatchEvent(event:Event):Boolean Dispatches an event into the event flow. | EventDispatcher
|  | endTween():void Interrupt the tween, jump immediately to the end of the tween, and invoke the onTweenEnd() callback function. | Tween
|  | hasEventListener(type:String):Boolean Checks whether the EventDispatcher object has any listeners registered for a specific type of event. | EventDispatcher
|  | hasOwnProperty(name:String):Boolean Indicates whether an object has a specified property defined. | Object
|  | isPrototypeOf(theClass:Object):Boolean Indicates whether an instance of the Object class is in the prototype chain of the object specified as the parameter. | Object
|  | pause():void Pauses the effect until you call the resume() method. | Tween
|  | propertyIsEnumerable(name:String):Boolean Indicates whether the specified property exists and is enumerable. | Object
|  | removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void Removes a listener from the EventDispatcher object. | EventDispatcher
|  | 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
|  | setPropertyIsEnumerable(name:String, isEnum:Boolean = true):void Sets the availability of a dynamic property for loop operations. | Object
|  | 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
|  | toLocaleString():String Returns the string representation of this object, formatted according to locale-specific conventions. | Object
|  | toString():String Returns the string representation of the specified object. | Object
|  | valueOf():Object Returns the primitive value of the specified object. | Object
|  | willTrigger(type:String):Boolean Checks whether an event listener is registered with this EventDispatcher object or any of its ancestors for the specified event type. | EventDispatcher

Events
Click for more information on events
Hide Inherited Events
Show Inherited Events

| Event | Summary | Defined By
--- | --- | --- | ---
|  | activate | [broadcast event] Dispatched when the Flash Player or AIR application gains operating system focus and becomes active. | EventDispatcher
|  | deactivate | [broadcast event] Dispatched when the Flash Player or AIR application operating loses system focus and is becoming inactive. | EventDispatcher

Property Detail

### duration

property

`public var duration:Number = 3000`

Language Version: | ActionScript 3.0

Product Version: | Flex 3

Runtime Versions: | Flash Player 9, AIR 1.1

Duration of the animation, in milliseconds.

### easingFunction

property

`easingFunction:Function` [write-only]

Language Version: | ActionScript 3.0

Product Version: | Flex 3

Runtime Versions: | Flash Player 9, AIR 1.1

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`

### listener

property

`public var listener:Object`

Language Version: | ActionScript 3.0

Product Version: | Flex 3

Runtime Versions: | Flash Player 9, AIR 1.1

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)`

Language Version: | ActionScript 3.0

Product Version: | Flex 3

Runtime Versions: | Flash Player 9, AIR 1.1

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`

Language Version: | ActionScript 3.0

Product Version: | Flex 3

Runtime Versions: | Flash Player 9, AIR 1.1

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

### pause

()
method

`public function pause():void`

Language Version: | ActionScript 3.0

Product Version: | Flex 3

Runtime Versions: | Flash Player 9, AIR 1.1

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

### resume

()
method

`public function resume():void`

Language Version: | ActionScript 3.0

Product Version: | Flex 3

Runtime Versions: | Flash Player 9, AIR 1.1

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

### reverse

()
method

`public function reverse():void`

Language Version: | ActionScript 3.0

Product Version: | Flex 3

Runtime Versions: | Flash Player 9, AIR 1.1

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

### seek

()
method

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

Language Version: | ActionScript 3.0

Product Version: | Flex 3

Runtime Versions: | Flash Player 9, AIR 1.1

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`

Language Version: | ActionScript 3.0

Product Version: | Flex 3

Runtime Versions: | Flash Player 9, AIR 1.1

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`

Language Version: | ActionScript 3.0

Product Version: | Flex 3

Runtime Versions: | Flash Player 9, AIR 1.1

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

© 2015 Adobe Systems Incorporated. All rights reserved.
Mon Apr 10 2017, 12:28 PM -07:00