| Package | spark.effects | 
| Class | public class CrossFade | 
| Inheritance | CrossFade  AnimateTransitionShader  Animate  Effect  EventDispatcher  Object | 
| Language Version: | ActionScript 3.0 | 
| Product Version: | Flex 4 | 
| Runtime Versions: | Flash Player 10, AIR 1.5 | 
|  | The CrossFade effect uses Pixel Bender, which is not supported for AIR mobile applications. | 
The CrossFade effect performs a bitmap transition effect by running a crossfade between the first and second bitmaps. The crossfade blends the two bitmaps over the duration of the animation.
At any point in the animation, where the 
 elapsed and eased fraction of the animation is f and the pixel
 values in the first and second bitmaps are v1 and v2, 
 the resulting pixel value v for any pixel in the image is:
v = v1 * (1 - f) + v2 * f
The bitmap effect is run by a pixel-shader program
 that is loaded by the effect. 
 You can specify a different crossfade behavior by specifying 
 a pixel-shader program to the shaderByteCode property.
 That pixel-shader program must meet the requirements defined in the 
 AnimateTransitionShader effect. 
Default MXML PropertymotionPaths
More examples
Using a pixel-shader effect in
a transition
Applying a pixel-shader effect
Creating a custom pixel shader
Applying a pixel-shader effect
Creating a custom pixel shader
Learn more
About effects
About Spark effects
Spark pixel-shader effects
Handling Spark effect events
About transitions
About Spark effects
Spark pixel-shader effects
Handling Spark effect events
About transitions
Related API Elements
Public Properties
| Property | Defined By | ||
|---|---|---|---|
|  | bitmapFrom : BitmapData 
     The bitmap data representing the start state of this effect. | AnimateTransitionShader | |
|  | bitmapTo : BitmapData 
     The bitmap data representing the end state of this effect. | AnimateTransitionShader | |
|  | 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 | |
|  | shaderByteCode : Object 
     The bytecode for the pixel-shader program that the effect uses
     to animate between the two bitmaps. | AnimateTransitionShader | |
|  | shaderProperties : Object 
     A map of parameter name/value pairs passed to the pixel-shader program 
     before playing. | AnimateTransitionShader | |
|  | 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
| 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 
| Method | Defined By | ||
|---|---|---|---|
| 
      Constructor. | CrossFade | ||
|  | 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 | |
|  | 
      Captures the current values of the relevant properties
      on the effect's targets and saves them as end values. | Effect | |
|  | 
      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 | |
|  | 
      Captures the current values of the relevant properties
      on the effect's targets. | Effect | |
|  | 
      Creates a single effect instance and initializes it. | Effect | |
|  | 
      Takes an Array of target objects and invokes the 
      createInstance() method on each target. | Effect | |
|  | 
      Removes event listeners from an instance
      and removes it from the list of instances. | Effect | |
|  | 
	Dispatches an event into the event flow. | EventDispatcher | |
|  | 
      Interrupts an effect that is currently playing,
      and jumps immediately to the end of the effect. | Effect | |
|  | 
      Returns an Array of Strings, where each String is the name
      of a property changed by this effect. | Effect | |
|  | 
	Checks whether the EventDispatcher object has any listeners registered for a specific type 
	of event. | EventDispatcher | |
|  | 
	 Indicates whether an object has a specified property defined. | Object | |
|  | 
	 Indicates whether an instance of the Object class is in the prototype chain of the object specified 
	 as the parameter. | Object | |
|  | 
      Pauses the effect until you call the resume() method. | Effect | |
|  | 
      Begins playing the effect. | Effect | |
|  | 
	 Indicates whether the specified property exists and is enumerable. | Object | |
|  | 
	Removes a listener from the EventDispatcher object. | EventDispatcher | |
|  | 
      Resumes the effect after it has been paused 
      by a call to the pause() method. | Effect | |
|  | 
      Plays the effect in reverse, if the effect is currently playing,
      starting from the current position of the effect. | Effect | |
|  | 
     Sets the availability of a dynamic property for loop operations. | Object | |
|  | 
      Stops the effect, leaving the effect targets in their current state. | Effect | |
|  | 
	 Returns the string representation of this object, formatted according to locale-specific conventions. | Object | |
|  | 
	 Returns the string representation of the specified object. | Object | |
|  | 
	 Returns the primitive value of the specified object. | Object | |
|  | 
	Checks whether an event listener is registered with this EventDispatcher object or any of 
	its ancestors for the specified event type. | EventDispatcher | |
Protected Methods 
| Method | Defined By | ||
|---|---|---|---|
|  | 
      Used internally by the Effect infrastructure. | Effect | |
|  | 
      Called when an effect instance has finished playing. | Effect | |
|  | 
      This method is called when the effect instance starts playing. | Effect | |
|  | 
      Called when an effect instance has stopped by a call
      to the stop() method. | Effect | |
|  | 
      Determines the logic for filtering out an effect instance. | Effect | |
|  | 
      Called by the captureStartValues() method to get the value
      of a property from the target. | Effect | |
|  | 
      Copies properties of the effect to the effect instance. | Effect | |
Events
| Event | Summary | Defined By | ||
|---|---|---|---|---|
|  | [broadcast event] Dispatched when the Flash Player or AIR application gains operating system focus and becomes active. | EventDispatcher | ||
|  | [broadcast event] Dispatched when the Flash Player or AIR application operating loses system focus and is becoming inactive. | EventDispatcher | ||
|  | 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 | ||
|  | Dispatched when the effect begins a new repetition, for any effect that is repeated more than once. | Animate | ||
|  | Dispatched when the effect starts playing. | Effect | ||
|  | Dispatched when the effect has been stopped, which only occurs when the effect is interrupted by a call to the stop() method. | Effect | ||
|  | Dispatched every time the effect updates the target. | Animate | ||
Constructor Detail
| CrossFade | () | Constructor | 
Examples How to use this example 
CrossFadeExample.mxml
<?xml version="1.0" encoding="utf-8"?>
<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">
    <s:states>
        <s:State name="default"/>
        <s:State name="flipped"/>
    </s:states>
    <s:transitions>
        <s:Transition id="t1" autoReverse="true">
            <s:CrossFade
                target="{holder}"
                duration="1000" />
        </s:Transition>
    </s:transitions>
    <s:Panel title="CrossFade Example"
        width="75%" height="75%" horizontalCenter="0" verticalCenter="0">
        <s:HGroup width="100%" height="100%" top="5" left="5" right="5">
            <s:Group id="holder">
                <s:BitmapImage
                    source="@Embed('assets/back2.png')"
                    visible="true" visible.flipped="false"/>
                <s:BitmapImage
                    source="@Embed('assets/c2.png')"
                    visible="false" visible.flipped="true"/>
            </s:Group>
            <!-- Directions -->
            <s:VGroup id="detailsBox"
                width="50%"
                left="0">
                <s:Label
                    width="99%"
                    color="blue"
                    text="CrossFade fades from bitmapFrom to the bitmapTo image. This example cross-fades between two bitmapGraphics in a group via a state transition. Click the 'Play CrossFade' button to see the effect."/>
            </s:VGroup>
        </s:HGroup>
        <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="Play CrossFade"
            click="currentState = (currentState == 'flipped') ? 'default' : 'flipped';"/>
    </s:Panel>
</s:Application>
Thu Dec 4 2014, 05:50 PM -08:00