Packagemx.effects
Classpublic class TweenEffect
InheritanceTweenEffect Inheritance Effect Inheritance flash.events.EventDispatcher
Subclasses AnimateProperty, Blur, Dissolve, Fade, Glow, Move, Pause, Resize, Rotate, SeriesEffect, Zoom

Language Version : ActionScript 3.0
Product Version : Flex 3
Runtime Versions : Flash Player 9, AIR 1.1


Starting with Flex 4.0, Apache recommends that you use the spark.effects.Animate class as an alternative to this class.

TweenEffect is the superclass for the animated effects in Flex 3. As of Flex 4, the Spark effects extend the spark.effects.Animate class instead of TweenEffect.


The TweenEffect class is the superclass for all effects that are based on the Tween object. This class encapsulates methods and properties that are common among all Tween-based effects, to avoid duplication of code elsewhere.

You create a subclass of the TweenEffect class to define an effect that plays an animation over a period of time. For example, the Resize effect modifies the size of its target over a specified duration.

MXML SyntaxexpandedHide MXML Syntax

The <mx:TweenEffect> tag inherits all of the tag attributes of its superclass, and adds the following tag attributes:

  <mx:TagName
    Properties
    easingFunction="easing function name; no default"
     
    Events
    tweenEnd="No default"
  />
  

View the examples

See also

mx.effects.Tween
mx.effects.effectClasses.TweenEffectInstance


Public Properties
 PropertyDefined By
 InheritedclassName : String
[read-only] The name of the effect class, such as "Fade".
Effect
 InheritedcustomFilter : EffectTargetFilter
Specifies a custom filter object, of type EffectTargetFilter, used by the effect to determine the targets on which to play the effect.
Effect
 Inheritedduration : Number
Duration of the effect in milliseconds.
Effect
  easingFunction : Function = null
The easing function for the animation.
TweenEffect
 InheritedeffectTargetHost : IEffectTargetHost
A property that lets you access the target list-based control of a data effect.
Effect
 Inheritedfilter : String
Specifies an algorithm for filtering targets for an effect.
Effect
 InheritedhideFocusRing : Boolean
Determines whether the effect should hide the focus ring when starting the effect.
Effect
 InheritedinstanceClass : Class
An object of type Class that specifies the effect instance class class for this effect class.
Effect
 InheritedisPlaying : 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
 InheritedperElementOffset : Number
Additional delay, in milliseconds, for effect targets after the first target of the effect.
Effect
 InheritedplayheadTime : Number
Current time position of the effect.
Effect
 InheritedrelevantProperties : Array
An Array of property names to use when performing filtering.
Effect
 InheritedrelevantStyles : Array
An Array of style names to use when performing filtering.
Effect
 InheritedrepeatCount : int = 1
Number of times to repeat the effect.
Effect
 InheritedrepeatDelay : int = 0
Amount of time, in milliseconds, to wait before repeating the effect.
Effect
 InheritedstartDelay : int = 0
Amount of time, in milliseconds, to wait before starting the effect.
Effect
 InheritedsuspendBackgroundProcessing : Boolean = false
If true, blocks all background processing while the effect is playing.
Effect
 Inheritedtarget : Object
The object to which this effect is applied.
Effect
 Inheritedtargets : Array
An Array of objects that are targets for the effect.
Effect
 InheritedtriggerEvent : 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
 PropertyDefined By
 InheritedapplyTransitionEndProperties : 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
 InheritedendValuesCaptured : 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
 MethodDefined By
  
TweenEffect(target:Object = null)
Constructor.
TweenEffect
 Inherited
Captures the current values of the relevant properties on the effect's targets and saves them as end values.
Effect
 Inherited
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
 Inherited
Captures the current values of the relevant properties on the effect's targets.
Effect
 Inherited
createInstance(target:Object = null):IEffectInstance
Creates a single effect instance and initializes it.
Effect
 Inherited
createInstances(targets:Array = null):Array
Takes an Array of target objects and invokes the createInstance() method on each target.
Effect
 Inherited
Removes event listeners from an instance and removes it from the list of instances.
Effect
 Inherited
end(effectInstance:IEffectInstance = null):void
Interrupts an effect that is currently playing, and jumps immediately to the end of the effect.
Effect
 Inherited
Returns an Array of Strings, where each String is the name of a property changed by this effect.
Effect
 Inherited
pause():void
Pauses the effect until you call the resume() method.
Effect
 Inherited
play(targets:Array = null, playReversedFromEnd:Boolean = false):Array
Begins playing the effect.
Effect
 Inherited
resume():void
Resumes the effect after it has been paused by a call to the pause() method.
Effect
 Inherited
reverse():void
Plays the effect in reverse, if the effect is currently playing, starting from the current position of the effect.
Effect
 Inherited
stop():void
Stops the effect, leaving the effect targets in their current state.
Effect
Protected Methods
 MethodDefined By
 Inherited
applyValueToTarget(target:Object, property:String, value:*, props:Object):void
Used internally by the Effect infrastructure.
Effect
 Inherited
Called when an effect instance has finished playing.
Effect
 Inherited
This method is called when the effect instance starts playing.
Effect
 Inherited
Called when an effect instance has stopped by a call to the stop() method.
Effect
 Inherited
filterInstance(propChanges:Array, target:Object):Boolean
Determines the logic for filtering out an effect instance.
Effect
 Inherited
getValueFromTarget(target:Object, property:String):*
Called by the captureStartValues() method to get the value of a property from the target.
Effect
 Inherited
Copies properties of the effect to the effect instance.
Effect
  
Called when the TweenEffect dispatches a TweenEvent.
TweenEffect
Events
 Event Summary Defined By
 InheritedDispatched 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
 InheritedDispatched when the effect starts playing.Effect
 InheritedDispatched when the effect has been stopped, which only occurs when the effect is interrupted by a call to the stop() method.Effect
  Dispatched when the tween effect ends.TweenEffect
  Dispatched when the tween effect starts, which corresponds to the first call to the onTweenUpdate() method.TweenEffect
  Dispatched every time the tween effect updates the target.TweenEffect
Property Detail
easingFunctionproperty
public var easingFunction:Function = null

Language Version : ActionScript 3.0
Product Version : Flex 3
Runtime Versions : Flash Player 9, AIR 1.1

The easing function for the animation. The easing function is used to interpolate between the initial value and the final value. A trivial easing function would simply do 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 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. This is usually a value between the initial value and the ending value.

The value of this property must be a function object.

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

Constructor Detail
TweenEffect()Constructor
public function TweenEffect(target:Object = null)

Language Version : ActionScript 3.0
Product Version : Flex 3
Runtime Versions : Flash Player 9, AIR 1.1

Constructor.

Parameters
target:Object (default = null) — The Object to animate with this effect.
Method Detail
tweenEventHandler()method
protected function tweenEventHandler(event:TweenEvent):void

Language Version : ActionScript 3.0
Product Version : Flex 3
Runtime Versions : Flash Player 9, AIR 1.1

Called when the TweenEffect dispatches a TweenEvent. If you override this method, ensure that you call the super method.

Parameters

event:TweenEvent — An event object of type TweenEvent.

Event Detail
tweenEnd Event
Event Object Type: mx.events.TweenEvent
TweenEvent.type property = mx.events.TweenEvent.TWEEN_END

Language Version : ActionScript 3.0
Product Version : Flex 3
Runtime Versions : Flash Player 9, AIR 1.1

Dispatched when the tween effect ends. This event corresponds to a call to the TweenEffectInstance.onTweenEnd() method.

When a tween effect plays a single time, this event occurs at the same time as an effectEnd event. If you configure the tween effect to repeat, it occurs at the end of every repetition of the effect, and the endEffect event occurs after the effect plays for the final time.

The TweenEvent.TWEEN_END constant defines the value of the event object's type property for a tweenEnd event.

The properties of the event object have the following values:

PropertyValue
bubblesfalse
cancelablefalse
currentTargetThe 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.
targetThe 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.
valueThe value passed to the onTweenEnd() method.
tweenStart Event  
Event Object Type: mx.events.TweenEvent
TweenEvent.type property = mx.events.TweenEvent.TWEEN_START

Language Version : ActionScript 3.0
Product Version : Flex 3
Runtime Versions : Flash Player 9, AIR 1.1

Dispatched when the tween effect starts, which corresponds to the first call to the onTweenUpdate() method. Flex also dispatches the first tweenUpdate event for the effect at the same time.

The Effect.effectStart event is dispatched before the tweenStart event.

The TweenEvent.TWEEN_START constant defines the value of the event object's type property for a tweenStart event.

The properties of the event object have the following values:

PropertyValue
bubblesfalse
cancelablefalse
currentTargetThe 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.
targetThe 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.
valueThe value passed to the onTweenUpdate() method.
tweenUpdate Event  
Event Object Type: mx.events.TweenEvent
TweenEvent.type property = mx.events.TweenEvent.TWEEN_UPDATE

Language Version : ActionScript 3.0
Product Version : Flex 3
Runtime Versions : Flash Player 9, AIR 1.1

Dispatched every time the tween effect updates the target. This event corresponds to a call to the TweenEffectInstance.onTweenUpdate() method.

The TweenEvent.TWEEN_UPDATE constant defines the value of the event object's type property for a tweenUpdate event.

The properties of the event object have the following values:

PropertyValue
bubblesfalse
cancelablefalse
currentTargetThe 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.
targetThe 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.
valueThe value passed to the onTweenUpdate() method.
Examples
SimpleTweenEffectExample.mxml
<?xml version="1.0"?>
<!--

  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You under the Apache License, Version 2.0
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.

-->
<!-- Simple example to demonstrate the TweenEffect class. -->
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
        xmlns:s="library://ns.adobe.com/flex/spark"
        xmlns:mx="library://ns.adobe.com/flex/mx">

    <fx:Script>
        <![CDATA[

            import mx.events.TweenEvent;

            // Event handler for the tweenUpdate and tweenEnd effects.
            private function tweenUpdateHandler(event:TweenEvent):void {
                // Access current width of the image.
                currentWidth.text="Current width (in pixels): " + String(event.value[0]);
            }

            // Event handler for the reset button.
            private function resetHandler():void {
                expand.end();
                img.width=30;
                currentWidth.text="Current width (in pixels): 30";
                img.height=60;
                button1.enabled=true;
            }
        ]]>
    </fx:Script>
    <fx:Declarations>
        <mx:Resize id="expand" target="{img}" widthTo="100" heightTo="200"
            duration="10000"
            tweenUpdate="tweenUpdateHandler(event);"
            tweenEnd="tweenUpdateHandler(event);"/>
    </fx:Declarations>

    <s:Panel title="Resize Effect Example" width="100%" height="100%" >
        <s:VGroup left="20" right="20" top="20" bottom="20">

            <s:Label width="100%" color="blue"
                text="Use the Button controls to resize the image."/>

            <s:HGroup width="100%">
                <mx:Image id="img" width="30" height="60"
                    source="@Embed(source='assets/Product1.png')"/>
                <s:Label id="currentWidth" height="20" width="100%"/>
            </s:HGroup>

            <s:Button id="button1" label="Start" click="expand.play(); button1.enabled=false;"/>
            <s:Button label="Pause" click="expand.pause();"/>
            <s:Button label="Resume" click="expand.resume();"/>
            <s:Button label="Reverse" click="expand.reverse();"/>
            <s:Button label="End" click="expand.end();"/>
            <s:Button label="Reset" click="resetHandler();"/>
        </s:VGroup>

    </s:Panel>
</s:Application>