ActionScript® 3.0 Referenzhandbuch für die Adobe® Flash®-Plattform
Home  |  Liste der Pakete und Klassen ausblenden |  Pakete  |  Klassen  |  Neue Funktionen  |  Stichwortverzeichnis  |  Anhänge  |  Warum auf Englisch?
Filter: Daten werden vom Server abgerufen...
Daten werden vom Server abgerufen...
spark.effects 

AnimateTransitionShader  - AS3 Flex

Paketspark.effects
Klassepublic class AnimateTransitionShader
VererbungAnimateTransitionShader Inheritance Animate Inheritance Effect Inheritance EventDispatcher Inheritance Object
Unterklassen CrossFade, Wipe

Sprachversion: ActionScript 3.0
Produktversion: Flex 4
Laufzeitversionen: Flash Player 10, AIR 1.5


Der AnimateTransitionShader-Effekt verwendet Pixel Bender, was für AIR-Mobilanwendungen nicht unterstützt wird.

Der AnimateTransitionShader-Effekt animiert einen Übergang zwischen zwei Bitmaps. Eine Bitmap stellt den Startstatus (bitmapFrom), die andere den Endstatus (bitmapTo) dar.

Die Animation wird mit einem Pixel-Shader-Programm ausgeführt, das von der shader-Eigenschaft angegeben wird und für das die beiden Bitmaps als Eingabe verwendet werden. Die Bitmaps werden durch eine Instanz der flash.display.BitmapData-Klasse dargestellt. Sie können mit Adobe Pixel Bender Toolkit Ihr eigenes Pixel-Shader-Programm erstellen.

Wenn keine der Bitmaps angegeben wird, wird dieser Wert dynamisch anhand des entsprechenden Status des Ziels in einem Übergang bestimmt oder, wenn der Effekt nicht in einem Übergang ausgeführt wird, direkt anhand des Ziels. Wenn der Effekt in einem Übergang ausgeführt wird und das Zielobjekt während der Statusänderung entweder verschwindet oder entsteht, wird eine vollkommen transparente Bitmap verwendet, um das Objekt darzustellen, wenn es nicht existiert.

Dieser Effekt kann nur für Ziele ausgeführt werden, bei denen es sich entweder um UIComponents oder GraphicElements handelt, da für das Erfassen der Bitmap des Objekts Informationen über das Objekt erforderlich sind, die nur in diesen Klassen existieren.

Da der Effekt bitmapbasiert ist und das zugrunde liegende Pixel-Shader-Programm erwartet, dass beide Bitmaps dieselbe Größe aufweisen, kann der Effekt auch nur korrekt ausgeführt werden, wenn diese Voraussetzung erfüllt ist. Dies bedeutet, dass der Effekt möglicherweise nicht korrekt abgespielt wird, wenn sich die Größe oder Ausrichtung des Zielobjekts und folglich die Größe des Begrenzungsrahmens ändert.

Dieser Effekt und seine Unterklassen unterscheiden sich von anderen Effekten in Flex dadurch, dass sie dafür konzipiert sind, eigenständig zu funktionieren, und möglicherweise nicht zu dem beabsichtigten Ergebnis führen, wenn sie parallel zu anderen Effekten ausgeführt werden. Diese Beschränkung wird durch die Tatsache hervorgerufen, dass die Vorher- und Nachher-Bitmap vor dem Beginn der Ausführung des Effekts erfasst werden. Wenn also etwas mit dem Zielobjekt passiert, nachdem diese Bitmaps berechnet wurden (wenn z. B. die Eigenschaften des Ziels durch einen anderen Effekt geändert werden), sind diese Änderungen in den im Voraus berechneten Bitmaps nicht berücksichtigt, sodass die Ergebnisse nicht den Erwartungen entsprechen. Um die korrekte Wiedergabe solcher bitmapbasierter Effekte sicherzustellen, sollten diese einzeln für die Zielobjekte abgespielt werden.

MXML-SyntaxexpandedMXML-Syntax ausblenden

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"
  />
  

Standard-MXML-EigenschaftmotionPaths

Beispiele anzeigen

Verwandte API-Elemente



Öffentliche Eigenschaften
 EigenschaftDefiniert von
  bitmapFrom : BitmapData
Die Bitmap-Daten, die den Startstatus dieses Effekts darstellen.
AnimateTransitionShader
  bitmapTo : BitmapData
Die Bitmap-Daten, die den Endstatus dieses Effekts darstellen.
AnimateTransitionShader
 InheritedclassName : String
[schreibgeschützt] Name der Effektklasse wie „Fade“.
Effect
 Inheritedconstructor : Object
Ein Verweis auf das Klassenobjekt oder die Konstruktorfunktion für eine angegebene Objektinstanz.
Object
 InheritedcustomFilter : mx.effects:EffectTargetFilter
Gibt ein benutzerdefiniertes Filterobjekt des Typs EffectTargetFilter an, das zur Ermittlung der Ziele dient, bei denen der Effekt wiedergegeben wird.
Effect
 InheriteddisableLayout : Boolean
Wenn der Wert „true“ ist, wird durch den Effekt das Layout auf den übergeordneten Containern der Ziele deaktiviert, indem die autoLayout-Eigenschaft der Container auf „false“ gesetzt wird, und alle Layoutbeschränkungen auf Zielobjekten werden deaktivert.
Animate
 Inheritedduration : Number
Dauer des Effekts in Millisekunden.
Effect
 Inheritedeaser : IEaser
Das Beschleunigungsverhalten für diesen Effekt.
Animate
 InheritedeffectTargetHost : mx.effects:IEffectTargetHost
Eine Eigenschaft, die Ihnen den Zugriff auf listenbasierte Zielsteuerelemente eines Dateneffekts ermöglicht.
Effect
 Inheritedfilter : String
Gibt einen Algorithmus zum Filtern der Ziele für einen Effekt an.
Effect
 InheritedhideFocusRing : Boolean
Bestimmt, ob der Effekt den Fokusring beim Start ausblenden soll.
Effect
 InheritedinstanceClass : Class
Ein Objekt der type-Klasse, das die Effektinstanzklasse für diese Effektklasse angibt.
Effect
 Inheritedinterpolator : IInterpolator
Der Interpolator, der von diesem Effekt verwendet wird, um Werte zwischen den Anfangs- und Endwerten einer Eigenschaft zu berechnen.
Animate
 InheritedisPlaying : Boolean
[schreibgeschützt] Ein Flag für den Schreibschutz, das auf „true“ gesetzt ist, wenn Instanzen des Effekts aktuell wiedergegeben werden, und andernfalls auf „false“.
Effect
 InheritedmotionPaths : Vector.<MotionPath>
Ein Vektor von MotionPath-Objekten, die alle den Namen einer zu animierenden Eigenschaft und die während der Animation von der Eigenschaft verwendeten Werte enthalten.
Animate
 InheritedperElementOffset : Number
Zusätzliche Verzögerung (in Millisekunden) für Effektziele nach dem ersten Ziel des Effekts.
Effect
 InheritedplayheadTime : Number
Aktuelle Zeitposition des Effekts.
Effect
 InheritedrelevantProperties : Array
Ein Array von Eigenschaftsnamen zur Verwendung beim Filtern.
Effect
 InheritedrelevantStyles : Array
Ein Array von Stilnamen zur Verwendung beim Filtern.
Effect
 InheritedrepeatBehavior : String
Das Verhalten eines sich wiederholenden Effekts, also eines Effekts mit repeatCount gleich 0 oder > 1.
Animate
 InheritedrepeatCount : int = 1
Ein Wert, der angibt, wie oft der Effekt wiederholt werden soll.
Effect
 InheritedrepeatDelay : int = 0
Wartezeit in Millisekunden vor der Wiederholung des Effekts.
Effect
  shaderByteCode : Object
Der Bytecode für das Pixel-Shader-Programm, der vom Effekt für die Animation zwischen den beiden Bitmaps verwendet wird.
AnimateTransitionShader
  shaderProperties : Object
Eine Matrix von Parametername/Wert-Paaren, die vor der Wiedergabe an das Pixel-Shader-Programm übergeben werden.
AnimateTransitionShader
 InheritedstartDelay : int = 0
Wartezeit in Millisekunden vor dem Starten des Effekts.
Effect
 Inheritedtarget : Object
Das Objekt, auf das dieser Effekt angewendet wird.
Effect
 Inheritedtargets : Array
Ein Array von Objekten, die als Ziele des Effekts verwendet werden können.
Effect
 InheritedtriggerEvent : Event
Der EffectManager übergibt diesem Effekt das Ereignisobjekt, wenn ein Effekt ausgelöst wird, oder null, wenn der Effekt nicht vom EffectManager wiedergegeben wird.
Effect
Geschützte Eigenschaften
 EigenschaftDefiniert von
 InheritedapplyTransitionEndProperties : Boolean
Dieses Flag steuert, ob der Effekt, wenn er in einem Übergang ausgeführt wird, automatisch die Eigenschaftswerte des Endstatus anwendet, statt die durch den Effekt eingestellten Werte beizubehalten.
Effect
 InheritedendValuesCaptured : Boolean = false
Wenn dieses Flag auf „true“ gesetzt ist, wurden die Werte eines Effekts bereits bestimmt. Bei „false“ werden die Werte beim Ausführen des Effekts aus den aktuellen Eigenschaften der Effektziele übernommen.
Effect
Öffentliche Methoden
 MethodeDefiniert von
  
Konstruktor.
AnimateTransitionShader
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registriert ein Ereignis-Listener-Objekt bei einem EventDispatcher-Objekt, sodass der Listener über ein Ereignis benachrichtigt wird.
EventDispatcher
 Inherited
Erfasst die aktuellen Werte der relevanten Eigenschaften der Ziele des Effekts und speichert sie als Endwerte.
Effect
 Inherited
Erfasst die aktuellen Werte der relevanten Eigenschaften eines zusätzlichen Zielsatzes. Flex verwendet diese Funktion, wenn ein Datenänderungseffekt ausgeführt wird.
Effect
 Inherited
Erfasst die aktuellen Werte der relevanten Eigenschaften der Ziele des Effekts.
Effect
 Inherited
Erstellt eine einzelne Effektinstanz und initialisiert sie.
Effect
 Inherited
createInstances(targets:Array = null):Array
Verwendet ein Array von Zielobjekten und ruft die createInstance()-Methode auf jedem Ziel auf.
Effect
 Inherited
Entfernt Ereignis-Listener von einer Instanz und entfernt sie aus der Liste der Instanzen.
Effect
 Inherited
Sendet ein Ereignis in den Ereignisablauf.
EventDispatcher
 Inherited
end(effectInstance:IEffectInstance = null):void
Unterbricht einen aktuell wiedergegebenen Effekt und springt sofort zum Ende des Effekts.
Effect
 Inherited
Gibt ein Array von Strings zurück, wobei jeder String dem Namen einer Eigenschaft entspricht, die von diesem Effekt geändert wird.
Effect
 Inherited
Überprüft, ob das EventDispatcher-Objekt Listener für einen bestimmten Ereignistyp registriert hat.
EventDispatcher
 Inherited
Gibt an, ob für ein Objekt eine bestimmte Eigenschaft definiert wurde.
Object
 Inherited
Gibt an, ob eine Instanz der Object-Klasse in der Prototypkette des Objekts vorhanden ist, das als Parameter angegeben wurde.
Object
 Inherited
Hält den Effekt an, bis die resume()-Methode aufgerufen wird.
Effect
 Inherited
play(targets:Array = null, playReversedFromEnd:Boolean = false):Array
Startet die Wiedergabe des Effekts.
Effect
 Inherited
Gibt an, ob die angegebene Eigenschaft vorhanden ist und durchlaufen werden kann.
Object
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
Entfernt einen Listener aus dem EventDispatcher-Objekt.
EventDispatcher
 Inherited
Setzt den Effekt fort, nachdem er durch Aufrufen der pause()-Methode vorübergehend unterbrochen wurde.
Effect
 Inherited
Gibt den aktuell wiedergegebenen Effekt rückwärts wieder und beginnt dabei an der aktuellen Position des Effekts.
Effect
 Inherited
Legt die Verfügbarkeit einer dynamischen Eigenschaft für Schleifenoperationen fest.
Object
 Inherited
Hält den Effekt an und behält den aktuellen Status der Effektziele bei.
Effect
 Inherited
Gibt die Stringdarstellung dieses Objekts zurück, formatiert entsprechend den Konventionen des Gebietsschemas.
Object
 Inherited
Gibt das angegebene Objekt als String zurück.
Object
 Inherited
Gibt den Grundwert des angegebenen Objekts zurück.
Object
 Inherited
Überprüft, ob bei diesem EventDispatcher-Objekt oder bei einem seiner Vorgänger ein Ereignis-Listener für einen bestimmten Ereignistyp registriert ist.
EventDispatcher
Geschützte Methoden
 MethodeDefiniert von
 Inherited
applyValueToTarget(target:Object, property:String, value:*, props:Object):void
Wird intern von der Effektinfrastruktur verwendet.
Effect
 Inherited
Wird aufgerufen, wenn die Wiedergabe einer Effektinstanz abgeschlossen ist.
Effect
 Inherited
Diese Methode wird aufgerufen, wenn die Wiedergabe der Effektinstanz beginnt.
Effect
 Inherited
Wird aufgerufen, wenn eine Effektinstanz durch einen Aufruf der stop()-Methode angehalten wurde.
Effect
 Inherited
filterInstance(propChanges:Array, target:Object):Boolean
Bestimmt die Logik zum Filtern einer Effektinstanz.
Effect
 Inherited
getValueFromTarget(target:Object, property:String):*
Wird von der captureStartValues()-Methode aufgerufen, um den Wert einer Eigenschaft des Ziels abzurufen.
Effect
 Inherited
Kopiert Eigenschaften des Effekts in die Effektinstanz.
Effect
Ereignisse
 Ereignis Übersicht Definiert von
 Inherited[broadcast event] Wird ausgelöst, wenn Flash Player oder eine AIR-Anwendung den Betriebssystemfokus erhält und aktiv wird.EventDispatcher
 Inherited[broadcast event] Wird ausgelöst, wenn Flash Player- oder die AIR-Anwendung den Fokus verliert und inaktiv wird.EventDispatcher
 InheritedWird ausgelöst, wenn die Wiedergabe einer der Effektinstanzen beendet wurde, da die Instanz das Ende erreicht hatte oder da der Effekt durch den Aufruf der end()-Methode unterbrochen wurde.Effect
 InheritedWird ausgelöst, wenn der Effekt eine neue Wiederholung beginnt, und zwar für jeden Effekt, der mehr als einmal wiederholt wird.Animate
 InheritedWird ausgelöst, wenn die Wiedergabe eines Effekts gestartet wird.Effect
 InheritedWird ausgelöst, wenn der Effekt angehalten wurde. Dies geschieht nur, wenn der Effekt durch Aufrufen der stop()-Methode unterbrochen wird.Effect
 InheritedWird jedes Mal ausgelöst, wenn der Effekt das Ziel aktualisiert.Animate
Eigenschaftendetails

bitmapFrom

Eigenschaft
public var bitmapFrom:BitmapData

Sprachversion: ActionScript 3.0
Produktversion: Flex 4
Laufzeitversionen: Flash Player 10, AIR 1.5

Die Bitmap-Daten, die den Startstatus dieses Effekts darstellen. Wenn diese Eigenschaft nicht eingestellt ist, wird sie automatisch berechnet, wenn der Effekt abgespielt wird, indem ein Schnappschuss des Zielobjekts erstellt oder eine transparente Bitmap verwendet wird, wenn das Objekt im anfänglichen Ansichtsstatus eines Übergangs nicht verfügbar ist.

bitmapTo

Eigenschaft 
public var bitmapTo:BitmapData

Sprachversion: ActionScript 3.0
Produktversion: Flex 4
Laufzeitversionen: Flash Player 10, AIR 1.5

Die Bitmap-Daten, die den Endstatus dieses Effekts darstellen. Wenn diese Eigenschaft nicht eingestellt ist, wird sie automatisch berechnet, wenn der Effekt abgespielt wird, indem ein Schnappschuss des Zielobjekts erstellt oder eine transparente Bitmap verwendet wird, wenn das Objekt im abschließenden Ansichtsstatus eines Übergangs nicht verfügbar ist.

shaderByteCode

Eigenschaft 
public var shaderByteCode:Object

Sprachversion: ActionScript 3.0
Produktversion: Flex 4
Laufzeitversionen: Flash Player 10, AIR 1.5

Der Bytecode für das Pixel-Shader-Programm, der vom Effekt für die Animation zwischen den beiden Bitmaps verwendet wird. Diese Eigenschaft kann entweder als ByteArray oder als eine Klasse dargestellt werden, die ein ByteArray darstellt (das den Ergebnissen entspricht, wenn Sie eine Ressource einbetten).

Das Pixel-Shader-Programm kann über beliebig viele Funktionen und Eingaben verfügen, muss jedoch mindestens drei image4-Eingaben aufweisen. Die erste Eingabe, die beliebig benannt werden kann, sollte von Ihrem Pixel-Shader-Programmcode nicht verwendet werden. Sie ist nur vorhanden, um der Flash-Anforderung gerecht zu werden, derzufolge der ersten Eingabe ein gefiltertes Objekt zugeordnet werden muss. Beachten Sie, dass Eingaben, die in einem Pixel-Shader-Programm absolut nicht verwendet werden, herausoptimiert werden können, sodass Ihr Code diese Eingabe zumindest einmal referenzieren sollte.

Es müssen mindestens zwei weitere Eingabe-Bitmaps mit den Bezeichnungen from und to verfügbar sein, die den Vorher- und Nachher-Bitmap-Bildern entsprechen. Schließlich müssen Sie einen float-Parameter mit der Bezeichnung progress definieren, der den verstrichenen Teil des Effekts enthält.

Sie können die beiden optionalen Parameter width und height angeben. Wenn sie vorhanden sind, werden sie automatisch auf die Breite und Höhe des Effektziels eingestellt.

Weitere Informationen zum Schreiben von Pixel-Shader-Programmen für Flash können Sie der Dokumentation Pixel Bender Toolkit entnehmen. Sie können den Quellcode für die Datei „CrossFade.pbk“ auch im Ordner frameworks\projects\flex4\src\spark\effects des Flex-Quellcodes anzeigen.

shaderProperties

Eigenschaft 
public var shaderProperties:Object

Sprachversion: ActionScript 3.0
Produktversion: Flex 4
Laufzeitversionen: Flash Player 10, AIR 1.5

Eine Matrix von Parametername/Wert-Paaren, die vor der Wiedergabe an das Pixel-Shader-Programm übergeben werden. Um beispielsweise den Parameter direction in einem Shader mit einer Pixel Bender PBJ-Datei auf Wipe.pbj einzustellen, könnte der aufrufende Code folgende Schritte ausführen:

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

Konstruktordetails

AnimateTransitionShader

()Konstruktor
public function AnimateTransitionShader(target:Object = null)

Sprachversion: ActionScript 3.0
Produktversion: Flex 4
Laufzeitversionen: Flash Player 10, AIR 1.5

Konstruktor.

Parameter
target:Object (default = null) — Das Objekt, das mit diesem Effekt animiert wird.
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 ]Warum auf Englisch?
Inhalt des ActionScript 3.0-Referenzhandbuchs wird in englischer Sprache angezeigt

Nicht alle Teile des ActionScript 3.0-Referenzhandbuchs wurden in alle Sprachen übersetzt. Wenn der Text zu einem Sprachelement nicht übersetzt wurde, wird er auf Englisch angezeigt. Zum Beispiel wurden die Informationen zur ga.controls.HelpBox-Klasse nicht in andere Sprachen übersetzt. In der deutschen Version des Referenzhandbuchs erscheint der Abschnitt zur ga.controls.HelpBox-Klasse deshalb auf Englisch.