適用於 Adobe® Flash® Platform 的 ActionScript® 3.0 參考
首頁  |  隱藏套件和類別清單 |  套件  |  類別  |  新增內容  |  索引  |  附錄  |  為什麼顯示英文?
篩選: 從伺服器擷取資料...
從伺服器擷取資料...
spark.effects 

AnimateTransitionShader  - AS3 Flex

套件spark.effects
類別public class AnimateTransitionShader
繼承AnimateTransitionShader Inheritance Animate Inheritance Effect Inheritance EventDispatcher Inheritance Object
子類別 CrossFade, Wipe

語言版本: ActionScript 3.0
產品版本: Flex 4
執行階段版本: Flash Player 10, AIR 1.5


The AnimateTransitionShader effect uses Pixel Bender, which is not supported for AIR mobile applications.

The AnimateTransitionShader effect animates a transition between two bitmaps, one representing the start state (bitmapFrom), and the other representing the end state (bitmapTo).

The animation is performed by running a pixel-shader program, specified by the shader property, using the two bitmaps as input. The bitmaps are represented by an instance of the flash.display.BitmapData class. You can create your own pixel-shader program by using Adobe Pixel Bender Toolkit.

If either bitmap is not supplied, that value is determined dynamically from either the appropriate state of the target in a transition or, if the effect is not running in a transition, from the target directly. If the effect is run in a transition and the target object either goes away or comes into existence during that state change, then a fully-transparent bitmap is used to represent that object when it does not exist.

This effect can only be run on targets that are either UIComponents or GraphicElements, since capturing the bitmap of the object requires information about the object that only exists in these classes.

Because the effect is bitmap-based, and the underlying pixel-shader program expects both bitmaps to be the same size, the effect only works correctly when both bitmaps are of the same size. This means that if the target object changes size or changes orientation leading to a different size bounding box, then the effect might not play correctly.

This effect and its subclasses differ from other effects in Flex in that they are intended to work on their own, and may not have the intended result when run in parallel with other effects. This constraint comes from the fact that both of the before and after bitmaps are captured before the start of the effect. So if something happens to the target object after these bitmaps are calculated, such as another effect changing the target's properties, then those changes are not be accounted for in the pre-calculated bitmap and the results might not be as expected. To ensure correct playing of these bitmap-based effects, they should be played alone on their target objects.

MXML 語法expanded隱藏 MXML 語法

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

  <s:AnimateTransitionShader
    Properties
    id="ID"
    bitmapFrom="no default"
    bitmapTo="no default"
    shaderByteCode="no default"
    sahderProperties="no default"
  />
  

預設 MXML 屬性motionPaths

檢視範例

相關 API 元素



公用屬性
 屬性定義自
  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
 InheritedclassName : String
[唯讀] The name of the effect class, such as "Fade".
Effect
 Inheritedconstructor : Object
類別物件的參照或是特定物件實體的建構函數。
Object
 InheritedcustomFilter : 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
 InheriteddisableLayout : 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
 Inheritedduration : Number
Duration of the effect in milliseconds.
Effect
 Inheritedeaser : IEaser
The easing behavior for this effect.
Animate
 InheritedeffectTargetHost : mx.effects: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
 Inheritedinterpolator : IInterpolator
The interpolator used by this effect to calculate values between the start and end values of a property.
Animate
 InheritedisPlaying : Boolean
[唯讀] A read-only flag which is true if any instances of the effect are currently playing, and false if none are.
Effect
 InheritedmotionPaths : 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
 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
 InheritedrepeatBehavior : String
The behavior of a repeating effect, which means an effect with repeatCount equal to either 0 or > 1.
Animate
 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
  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
 InheritedstartDelay : int = 0
Amount of time, in milliseconds, to wait before starting the effect.
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
保護屬性
 屬性定義自
 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
公用方法
 方法定義自
  
Constructor.
AnimateTransitionShader
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
會在 EventDispatcher 物件註冊事件偵聽程式,以便讓偵聽程式收到事件的通知。
EventDispatcher
 Inherited
Captures the current values of the relevant properties on the effect's targets and saves them as end values.
Effect
 Inherited
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
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
會將事件傳送到事件流程。
EventDispatcher
 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
會檢查 EventDispatcher 物件是否有對特定的事件類型註冊偵聽程式。
EventDispatcher
 Inherited
指出物件是否有已定義的指定屬性。
Object
 Inherited
指出 Object 類別的實體是否位於指定為參數的物件原型鏈中。
Object
 Inherited
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
指出指定的屬性是否存在,以及是否可列舉。
Object
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
會從 EventDispatcher 物件移除偵聽程式。
EventDispatcher
 Inherited
Resumes the effect after it has been paused by a call to the pause() method.
Effect
 Inherited
Plays the effect in reverse, if the effect is currently playing, starting from the current position of the effect.
Effect
 Inherited
為迴圈作業設定動態屬性的可用性。
Object
 Inherited
Stops the effect, leaving the effect targets in their current state.
Effect
 Inherited
傳回代表此物件的字串,根據地區特定慣例進行格式化。
Object
 Inherited
會傳回指定之物件的字串形式。
Object
 Inherited
會傳回指定之物件的基本值。
Object
 Inherited
檢查此 EventDispatcher 物件是否已註冊事件偵聽程式,或者此物件的任何祖系已為特定事件類型註冊事件偵聽程式。
EventDispatcher
保護方法
 方法定義自
 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
事件
 事件 摘要 定義自
 Inherited[廣播事件] 當 Flash Player 或 AIR 應用程式取得作業系統焦點並成為作用中時傳送。EventDispatcher
 Inherited[廣播事件] 當 Flash Player 或 AIR 應用程式失去作業系統焦點並成為非作用中時傳送。EventDispatcher
 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 begins a new repetition, for any effect that is repeated more than once.Animate
 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
 InheritedDispatched every time the effect updates the target.Animate
屬性詳細資訊

bitmapFrom

屬性
public var bitmapFrom:BitmapData

語言版本: ActionScript 3.0
產品版本: Flex 4
執行階段版本: Flash Player 10, AIR 1.5

The bitmap data representing the start state of this effect. If this property is not set, it is calculated automatically when the effect is played by taking a snapshot of the target object, or by using a transparent bitmap if the object does not exist in the start view state of a transition.

bitmapTo

屬性 
public var bitmapTo:BitmapData

語言版本: ActionScript 3.0
產品版本: Flex 4
執行階段版本: Flash Player 10, AIR 1.5

The bitmap data representing the end state of this effect. If this property is not set, it is calculated automatically when the effect is played by taking a snapshot of the target object, or by using a transparent bitmap if the object does not exist in the end view state of a transition.

shaderByteCode

屬性 
public var shaderByteCode:Object

語言版本: ActionScript 3.0
產品版本: Flex 4
執行階段版本: Flash Player 10, AIR 1.5

The bytecode for the pixel-shader program that the effect uses to animate between the two bitmaps. This property can be represented as either a ByteArray or as a Class representing a ByteArray (which is what results when you embed a resource).

The pixel-shader program can have arbitrary functionality and inputs, but must, at a minimum, have three image4 inputs. The first input, which can be named anything, should go unused by your pixel-shader program code - it exists only to satisfy the Flash requirement of assigning a filtered object to the first input. Note that inputs that go completely unused in a pixel-shader program might be optimized out, so your code should at least reference this input once.

There must be at least two other input bitmaps named from and to which represent the before and after bitmap images. Finally, you must define one float parameter named progress that contains the elapsed fraction of the effect.

You can specify two optional parameters, width and height. If they exist, they are automatically set to the width and height of the effect target.

See the Pixel Bender Toolkit documentation for more information on writing pixel-shader programs for Flash. You can also look at the source code for the CrossFade.pbk file in the frameworks\projects\flex4\src\spark\effects directory of the Flex source code.

shaderProperties

屬性 
public var shaderProperties:Object

語言版本: ActionScript 3.0
產品版本: Flex 4
執行階段版本: Flash Player 10, AIR 1.5

A map of parameter name/value pairs passed to the pixel-shader program before playing. For example, to set a parameter named direction in a shader with a Pixel Bender pbj file in Wipe.pbj, the calling code could do the following:

       [Embed(source="Wipe.pbj", mimeType="application/octet-stream")]
       private var WipeCodeClass:Class;
       var shaderEffect = new AnimateTransitionShader();
       shaderEffect.shaderByteCode = WipeCodeClass;
       shaderEffect.shaderProperties = {direction : 1};
     

建構函式詳細資料

AnimateTransitionShader

()建構函式
public function AnimateTransitionShader(target:Object = null)

語言版本: ActionScript 3.0
產品版本: Flex 4
執行階段版本: Flash Player 10, AIR 1.5

Constructor.

參數
target:Object (default = null) — The Object to animate with this effect.
AnimateTransitionShaderExample.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">
            <s:AnimateTransitionShader
                target="{holder}"
                duration="1000"
                shaderByteCode="@Embed(source='assets/twist.pbj', mimeType='application/octet-stream')"/>
        </s:Transition>
    </s:transitions>

    <s:Panel title="AnimateTransitionShader 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="AnimateShaderTransition animates a shader between two images. Click the 'Animate Shader' 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="Animate Shader"
            click="currentState = (currentState == 'flipped') ? 'default' : 'flipped';"/>
    </s:Panel>

</s:Application>




[ X ]為什麼顯示英文?
「ActionScript 3.0 參考」的內容是以英文顯示

並非所有「ActionScript 3.0 參考」的內容都翻譯為所有語言。當語言元素未翻譯時,就會以英文顯示。例如,ga.controls.HelpBox 類別並沒有翻譯為任何語言。因此在參考的繁體中文版本中,ga.controls.HelpBox 類別就會以英文顯示。