spark.effects

# Animate - AS3 Flex

Package | spark.effects
Class | public class Animate
Inheritance | Animate Effect EventDispatcher Object
Subclasses | AnimateColor, AnimateFilter, AnimateTransform, AnimateTransitionShader, Fade, Resize

Language Version: | ActionScript 3.0

Product Version: | Flex 4

Runtime Versions: | Flash Player 10, AIR 1.5

This Animate effect animates an arbitrary set of properties between values. Specify the properties and values to animate by setting the `motionPaths` property.

MXML Syntax Show MXML Syntax
Hide MXML Syntax

The `<s:Animate>` tag inherits all of the tag attributes of its superclass, and adds the following tag attributes:

      <s:Animate
        Properties
        id="ID"
        disableLayout="false"
        easer="{spark.effects.easing.Sine(.5)}"
        interpolator="NumberInterpolator"
        motionPaths="no default"
        repeatBehavior="loop"
      />

Default MXML Property `motionPaths`

View the examples

More examples

The Animate effect

Learn more

About effects
About Spark effects
Spark property effects
Handling Spark effect events
About transitions

Related API Elements

spark.effects.supportClasses.AnimateInstance

Public Properties
Hide Inherited Public Properties
Show Inherited Public Properties

| Property | Defined By
--- | --- | ---
|  | className : String [read-only] The name of the effect class, such as "Fade". | Effect
|  | constructor : Object A reference to the class object or constructor function for a given object instance. | Object
|  | customFilter : mx.effects:EffectTargetFilter Specifies a custom filter object, of type EffectTargetFilter, used by the effect to determine the targets on which to play the effect. | Effect
|  | disableLayout : Boolean If true, the effect disables layout on its targets' parent containers, setting the containers autoLayout property to false, and also disables any layout constraints on the target objects. | Animate
|  | duration : Number Duration of the effect in milliseconds. | Effect
|  | easer : IEaser The easing behavior for this effect. | Animate
|  | effectTargetHost : mx.effects:IEffectTargetHost A property that lets you access the target list-based control of a data effect. | Effect
|  | filter : String Specifies an algorithm for filtering targets for an effect. | Effect
|  | hideFocusRing : Boolean Determines whether the effect should hide the focus ring when starting the effect. | Effect
|  | instanceClass : Class An object of type Class that specifies the effect instance class class for this effect class. | Effect
|  | interpolator : IInterpolator The interpolator used by this effect to calculate values between the start and end values of a property. | Animate
|  | isPlaying : Boolean [read-only] A read-only flag which is true if any instances of the effect are currently playing, and false if none are. | Effect
|  | motionPaths : Vector.<MotionPath> A Vector of MotionPath objects, each of which holds the name of a property being animated and the values that the property takes during the animation. | Animate
|  | perElementOffset : Number Additional delay, in milliseconds, for effect targets after the first target of the effect. | Effect
|  | playheadTime : Number Current time position of the effect. | Effect
|  | relevantProperties : Array An Array of property names to use when performing filtering. | Effect
|  | relevantStyles : Array An Array of style names to use when performing filtering. | Effect
|  | repeatBehavior : String The behavior of a repeating effect, which means an effect with repeatCount equal to either 0 or > 1. | Animate
|  | repeatCount : int = 1 Number of times to repeat the effect. | Effect
|  | repeatDelay : int = 0 Amount of time, in milliseconds, to wait before repeating the effect. | Effect
|  | startDelay : int = 0 Amount of time, in milliseconds, to wait before starting the effect. | Effect
|  | target : Object The object to which this effect is applied. | Effect
|  | targets : Array An Array of objects that are targets for the effect. | Effect
|  | triggerEvent : Event The Event object passed to this Effect by the EffectManager when an effect is triggered, or null if the effect is not being played by the EffectManager. | Effect

Protected Properties
Hide Inherited Protected Properties
Show Inherited Protected Properties

| Property | Defined By
--- | --- | ---
|  | applyTransitionEndProperties : Boolean This flag controls whether the effect, when run in a transition, automatically applies the property values according to the end state, as opposed to leaving values as set by the effect itself. | Effect
|  | endValuesCaptured : Boolean = false A flag containing true if the end values of an effect have already been determined, or false if they should be acquired from the current properties of the effect targets when the effect runs. | Effect

Public Methods
Hide Inherited Public Methods
Show Inherited Public Methods

| Method | Defined By
--- | --- | ---
|  | Animate(target:Object = null) Constructor. | Animate
|  | 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
|  | captureEndValues():void Captures the current values of the relevant properties on the effect's targets and saves them as end values. | Effect
|  | captureMoreStartValues(targets:Array):void Captures the current values of the relevant properties of an additional set of targets Flex uses this function when a data change effect is run. | Effect
|  | captureStartValues():void Captures the current values of the relevant properties on the effect's targets. | Effect
|  | createInstance(target:Object = null):IEffectInstance Creates a single effect instance and initializes it. | Effect
|  | createInstances(targets:Array = null):Array Takes an Array of target objects and invokes the createInstance() method on each target. | Effect
|  | deleteInstance(instance:IEffectInstance):void Removes event listeners from an instance and removes it from the list of instances. | Effect
|  | dispatchEvent(event:Event):Boolean Dispatches an event into the event flow. | EventDispatcher
|  | end(effectInstance:IEffectInstance = null):void Interrupts an effect that is currently playing, and jumps immediately to the end of the effect. | Effect
|  | getAffectedProperties():Array Returns an Array of Strings, where each String is the name of a property changed by this effect. | Effect
|  | 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. | Effect
|  | play(targets:Array = null, playReversedFromEnd:Boolean = false):Array Begins playing the effect. | Effect
|  | 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. | Effect
|  | reverse():void Plays the effect in reverse, if the effect is currently playing, starting from the current position of the effect. | Effect
|  | setPropertyIsEnumerable(name:String, isEnum:Boolean = true):void Sets the availability of a dynamic property for loop operations. | Object
|  | stop():void Stops the effect, leaving the effect targets in their current state. | Effect
|  | 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

Protected Methods
Hide Inherited Protected Methods
Show Inherited Protected Methods

| Method | Defined By
--- | --- | ---
|  | applyValueToTarget(target:Object, property:String, value:*, props:Object):void Used internally by the Effect infrastructure. | Effect
|  | effectEndHandler(event:EffectEvent):void Called when an effect instance has finished playing. | Effect
|  | effectStartHandler(event:EffectEvent):void This method is called when the effect instance starts playing. | Effect
|  | effectStopHandler(event:EffectEvent):void Called when an effect instance has stopped by a call to the stop() method. | Effect
|  | filterInstance(propChanges:Array, target:Object):Boolean Determines the logic for filtering out an effect instance. | Effect
|  | getValueFromTarget(target:Object, property:String):* Called by the captureStartValues() method to get the value of a property from the target. | Effect
|  | initInstance(instance:IEffectInstance):void Copies properties of the effect to the effect instance. | Effect

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
|  | effectEnd | Dispatched when one of the effect's instances finishes playing, either when the instance finishes playing or when the effect is interrupted by a call to the end() method. | Effect
|  | effectRepeat | Dispatched when the effect begins a new repetition, for any effect that is repeated more than once. | Animate
|  | effectStart | Dispatched when the effect starts playing. | Effect
|  | effectStop | Dispatched when the effect has been stopped, which only occurs when the effect is interrupted by a call to the stop() method. | Effect
|  | effectUpdate | Dispatched every time the effect updates the target. | Animate

Property Detail

### disableLayout

property

`disableLayout:Boolean`

Language Version: | ActionScript 3.0

Product Version: | Flex 4

Runtime Versions: | Flash Player 10, AIR 1.5

If `true`, the effect disables layout on its targets' parent containers, setting the containers `autoLayout` property to false, and also disables any layout constraints on the target objects. These properties are restored when the effect finishes.

The default value is `false.`

Implementation
`public function get disableLayout():Boolean`
`public function set disableLayout(value:Boolean):void`

### easer

property

`easer:IEaser`

Language Version: | ActionScript 3.0

Product Version: | Flex 4

Runtime Versions: | Flash Player 10, AIR 1.5

The easing behavior for this effect. This IEaser object is used to convert the elapsed fraction of the animation into an eased fraction, which is then used to calculate the value at that eased elapsed fraction.

Note that it is possible to have easing at both the effect level and the Keyframe level (where Keyframes hold the values/times used in the MotionPath structures). These easing behaviors build on each other. The `easer` controls the easing of the overall effect. The Keyframe controls the easing in any particular interval of the animation. By default, the easing for Animate is non-linear (Sine(.5)). The easing for Keyframes is linear. If you desire an effect with easing at the keyframe level instead, you can set the easing of the effect to linear, and then set the easing specifically on the Keyframes.

The default value is `spark.effects.easing.Sine(.5).`

Implementation
`public function get easer():IEaser`
`public function set easer(value:IEaser):void`

Related API Elements

spark.effects.easing.Sine

### interpolator

property

`interpolator:IInterpolator`

Language Version: | ActionScript 3.0

Product Version: | Flex 4

Runtime Versions: | Flash Player 10, AIR 1.5

The interpolator used by this effect to calculate values between the start and end values of a property. By default, the NumberInterpolator class handles interpolation or, in the case of the start and end values being Arrays or Vectors, by the MultiValueInterpolator class. Interpolation of other types, or of Numbers that should be interpolated differently, such as `uint` values that hold color channel information, can be handled by supplying a different interpolator.

Implementation
`public function get interpolator():IInterpolator`
`public function set interpolator(value:IInterpolator):void`

Related API Elements

spark.effects.interpolation.NumberInterpolator
spark.effects.interpolation.MultiValueInterpolator

### motionPaths

property

`motionPaths:Vector.<MotionPath>`

Language Version: | ActionScript 3.0

Product Version: | Flex 4

Runtime Versions: | Flash Player 10, AIR 1.5

A Vector of MotionPath objects, each of which holds the name of a property being animated and the values that the property takes during the animation. This Vector takes precedence over any properties declared in subclasses of Animate. For example, if this Array is set directly on a Move effect, then any properties of the Move effect, such as `xFrom`, are ignored.

Implementation
`public function get motionPaths():Vector.<MotionPath>`
`public function set motionPaths(value:Vector.<MotionPath>):void`

### repeatBehavior

property

`repeatBehavior:String`

Language Version: | ActionScript 3.0

Product Version: | Flex 4

Runtime Versions: | Flash Player 10, AIR 1.5

The behavior of a repeating effect, which means an effect with `repeatCount` equal to either 0 or > 1. This value should be either `RepeatBehavior.LOOP`, which means the animation repeats in the same order each time, or `RepeatBehavior.REVERSE`, which means the animation reverses direction on each iteration.

The default value is `RepeatBehavior.LOOP.`

Implementation
`public function get repeatBehavior():String`
`public function set repeatBehavior(value:String):void`
Constructor Detail

### Animate

()
Constructor

`public function Animate(target:Object = null)`

Language Version: | ActionScript 3.0

Product Version: | Flex 4

Runtime Versions: | Flash Player 10, AIR 1.5

Constructor.

Parameters

| `target:Object` (default = `null`)`` — The Object to animate with this effect.

Event Detail

### effectRepeat

Event

Event Object Type: `mx.events.EffectEvent`
property EffectEvent.type = `mx.events.EffectEvent.EFFECT_REPEAT`

Language Version: | ActionScript 3.0

Product Version: | Flex 4

Runtime Versions: | Flash Player 10, AIR 1.5

Dispatched when the effect begins a new repetition, for any effect that is repeated more than once. Flex also dispatches an `effectUpdate` event for the effect at the same time.

The `EffectEvent.EFFECT_REPEAT` constant defines the value of the `type` property of the event object for an `effectRepeat` event.

The properties of the event object have the following values:

Property | Value
--- | ---
`bubbles` | false
`cancelable` | false
`currentTarget` | The Object that defines the event listener that handles the event. For example, if you use `myButton.addEventListener()` to register an event listener, myButton is the value of the `currentTarget`.
`effectInstance` | The effect instance object for the event.
`target` | The Object that dispatched the event; it is not always the Object listening for the event. Use the `currentTarget` property to always access the Object listening for the event.

### effectUpdate

Event

Event Object Type: `mx.events.EffectEvent`
property EffectEvent.type = `mx.events.EffectEvent.EFFECT_UPDATE`

Language Version: | ActionScript 3.0

Product Version: | Flex 4

Runtime Versions: | Flash Player 10, AIR 1.5

Dispatched every time the effect updates the target.

The `EffectEvent.EFFECT_UPDATE` constant defines the value of the `type` property of the event object for an `effectUpdate` event.

The properties of the event object have the following values:

Property | Value
--- | ---
`bubbles` | false
`cancelable` | false
`currentTarget` | The Object that defines the event listener that handles the event. For example, if you use `myButton.addEventListener()` to register an event listener, myButton is the value of the `currentTarget`.
`effectInstance` | The effect instance object for the event.
`target` | The Object that dispatched the event; it is not always the Object listening for the event. Use the `currentTarget` property to always access the Object listening for the event.

Examples How to use this example
AnimateEffectExample.mxml
Copy

    <?xml version="1.0"?>
    <s:Application
        xmlns:fx="http://ns.adobe.com/mxml/2009"
        xmlns:mx="library://ns.adobe.com/flex/mx"
        xmlns:s="library://ns.adobe.com/flex/spark">

        <fx:Declarations>
            <s:Animate id="animateEffect"
                target="{targetBox}" repeatCount="2" repeatBehavior="reverse" disableLayout="true" effectStart="playButton.enabled=false" effectEnd="playButton.enabled=true;">
                <s:motionPaths>
                    <s:SimpleMotionPath property="x" valueFrom="0" valueTo="100"/>
                    <s:SimpleMotionPath property="alpha" valueFrom="1" valueTo="0"/>
                </s:motionPaths>
            </s:Animate>
        </fx:Declarations>

        <s:Panel title="Animate Effect Example"
            width="75%" height="75%">

            <mx:HBox width="100%" height="100%">
                <!-- Our target to affect-->
                <mx:VBox id="targetBox" width="50%"  horizontalAlign="center">
                    <mx:Label text="Nokia 9930" />
                    <mx:Image id="targetImg" source="@Embed(source='assets/Nokia_6630.png')"/>
                </mx:VBox>
                <mx:VBox id="detailsBox" width="50%" left="0">
                    <mx:Text width="99%" color="blue"
                        text="The Animate effect animates any property or style of an object over time using animationProperty arrays. Click 'Animate' to watch the effect."/>
                </mx:VBox>
            </mx:HBox>

            <s:Rect left="0" right="0" bottom="0" height="30">
                <s:fill>
                    <s:LinearGradient rotation="90">
                        <s:GradientEntry color="0xE2E2E2" />
                        <s:GradientEntry color="0xD9D9D9" />
                    </s:LinearGradient>
                </s:fill>
            </s:Rect>
            <s:Button id="playButton"
                left="5" bottom="5"
                label="Animate"
                click="animateEffect.play();"/>
        </s:Panel>
    </s:Application>

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