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.animation 

MotionPath  - AS3 Flex

Paketspark.effects.animation
Klassepublic class MotionPath
VererbungMotionPath Inheritance Object
Unterklassen SimpleMotionPath

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

Die MotionPath-Klasse definiert die Sammlung von Keyframe-Objekten für einen Effekt sowie den Namen der Eigenschaft, die auf dem Ziel animiert werden soll. Jedes Keyframe-Objekt definiert den Wert der Eigenschaft zu einer bestimmten Zeit während eines Effekts. Anschließend berechnet der Effekt den Wert der target-Eigenschaft, indem er zwischen den von zwei Schlüsselbildern angegebenen Werten interpoliert.

MXML-SyntaxexpandedMXML-Syntax ausblenden

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

  <s:MotionPath 
    id="ID"
    interpolator="NumberInterpolator"
    keyframes="val"
    property="val"
  />
  

Standard-MXML-Eigenschaftkeyframes

Beispiele anzeigen

Verwandte API-Elemente



Öffentliche Eigenschaften
 EigenschaftDefiniert von
 Inheritedconstructor : Object
Ein Verweis auf das Klassenobjekt oder die Konstruktorfunktion für eine angegebene Objektinstanz.
Object
  interpolator : IInterpolator
Der Interpolator bestimmt, wie Zwischenwerte in einer Animation berechnet werden.
MotionPath
  keyframes : Vector.<Keyframe>
Eine Sequenz von Keyframe-Objekten, die das Zeit/Wert-Paar darstellt, das die Eigenschaft während der Animation übernimmt.
MotionPath
  property : String
Der Name der Eigenschaft des zu animierenden Effektziels.
MotionPath
Öffentliche Methoden
 MethodeDefiniert von
  
MotionPath(property:String = null)
Konstruktor.
MotionPath
  
Gibt eine Kopie dieses MotionPath-Objekts einschließlich Kopien jedes Schlüsselbilds zurück.
MotionPath
  
Berechnet einen interpolierten Wert für den verstrichenen Zeitraum und gibt ihn zurück.
MotionPath
 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
Gibt an, ob die angegebene Eigenschaft vorhanden ist und durchlaufen werden kann.
Object
 Inherited
Legt die Verfügbarkeit einer dynamischen Eigenschaft für Schleifenoperationen fest.
Object
 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
Eigenschaftendetails

interpolator

Eigenschaft
public var interpolator:IInterpolator

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

Der Interpolator bestimmt, wie Zwischenwerte in einer Animation berechnet werden. Standardmäßig geht die MotionPath-Klasse davon aus, dass die Werte den Typ „Number“ aufweisen und Zwischenwerte mit diesem Typ automatisch berechnet werden. Wenn der MotionPath-Klasse Schlüsselbilder mit Werten zugewiesen werden, die einen anderen Typ als „Number“ aufweisen, oder wenn das gewünschte Verhalten einen anderen Ansatz als die Interpolation (z. B. Farbinterpolation pro Kanal) verwenden soll, geben Sie einen Interpolator an.

In Flex sind vordefinierte Interpolatoren im spark.effects.interpolation-Paket verfügbar.

keyframes

Eigenschaft 
public var keyframes:Vector.<Keyframe>

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

Eine Sequenz von Keyframe-Objekten, die das Zeit/Wert-Paar darstellt, das die Eigenschaft während der Animation übernimmt. Alle nachfolgenden Paare von Schlüsselbildern steuern die Animation während des Zeitintervalls zwischen den Schlüsselbildern. Die optionalen Eigenschaften easer und valueBy des späteren Schlüsselbilds werden verwendet, um das Verhalten während des Intervalls zu bestimmen. Die Schlüsselbildsequenz muss in der Reihenfolge der ansteigenden Zeitwerte sortiert werden.

Animationen beginnen immer mit time = 0 und dauern so lange, wie durch den time-Wert im abschließenden Schlüsselbild angegeben. Wenn kein Schlüsselbild mit „time“ = 0 definiert ist, ist das Schlüsselbild implizit und es wird der Wert der target-Eigenschaft zu dem Zeitpunkt verwendet, zu dem die Animation beginnt.

Schlüsselbilder definieren explizit die Zeiten in einer Animation. Deshalb wird die Dauer eines Effekts, der Schlüsselbilder verwendet, entsprechend der maximalen Zeit des abschließenden Schlüsselbilds aller MotionPaths des Effekts eingestellt. Wenn ein Effekt beispielsweise Schlüsselbilder mit den Zeiten 0, 500, 1000 und 2000 hat, beträgt die effektive Dauer dieses Effekts 2000 ms, und zwar unabhängig von der duration-Eigenschaft, die ggf. für den Effekt selbst eingestellt wurde. Da das abschließende Schlüsselbild die Dauer bestimmt, muss in einem MotionPath immer ein abschließendes Schlüsselbild verfügbar sein. Das bedeutet, dass die Zeit im abschließenden Schlüsselbild der Dauer des MotionPath entspricht.

In jedem beliebigen Schlüsselbild kann der value nicht definiert (nicht festgelegt, auf null eingestellt oder auf NaN eingestellt) bleiben. In diesem Fall wird der Wert dynamisch bestimmt, wenn die Animation gestartet wird. Jeder nicht definierte Wert wird wie folgt bestimmt:

  1. Wenn es sich dabei um das erste Schlüsselbild handelt, wird der Wert anhand des nächsten Schlüsselbilds berechnet, wenn für dieses Schlüsselbild die value- und valueBy-Eigenschaft eingestellt sind, und zwar als Unterschied zwischen diesen Werten. Andernfalls wird der aktuelle Wert der jeweiligen Eigenschaft vom Ziel übernommen.
  2. Wenn es sich um das abschließende Schlüsselbild handelt und die Animation in einem Übergang ausgeführt wird, verwendet sie den Wert im Zielansichtsstatus des Übergangs.
  3. Andernfalls berechnet jedes Schlüsselbild die value-Eigenschaft, indem es zur value-Eigenschaft des vorherigen Schlüsselbilds die valueBy-Eigenschaft des aktuellen Schlüsselbilds addiert, wenn valueBy eingestellt ist.

Verwandte API-Elemente

property

Eigenschaft 
public var property:String

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

Der Name der Eigenschaft des zu animierenden Effektziels.

Konstruktordetails

MotionPath

()Konstruktor
public function MotionPath(property:String = null)

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

Konstruktor.

Parameter
property:String (default = null) — Der Name der Eigenschaft auf dem zu animierenden Ziel.
Methodendetails

clone

()Methode
public function clone():MotionPath

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

Gibt eine Kopie dieses MotionPath-Objekts einschließlich Kopien jedes Schlüsselbilds zurück.

Rückgabewerte
MotionPath — Eine Kopie dieses MotionPath-Objekts einschließlich Kopien jedes Schlüsselbilds.

getValue

()Methode 
public function getValue(fraction:Number):Object

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

Berechnet einen interpolierten Wert für den verstrichenen Zeitraum und gibt ihn zurück. Die Funktion bestimmt das Schlüsselbildintervall, in das der Bruchteil fällt, und führt eine Interpolation innerhalb dieses Intervalls zwischen den Werten der begrenzenden Schlüsselbilder für das Intervall aus.

Parameter

fraction:Number — Der Bruchteil der Gesamtdauer des Effekts (ein Wert zwischen 0,0 und 1,0).

Rückgabewerte
Object — Der interpolierte Wert.
KeyFrameEffectExample.mxml
<?xml version="1.0"?>
<!-- Simple example to demonstrate the s:Keyframe and s:MotionPath classes. -->
<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>
        <fx:Vector id="kf" type="spark.effects.animation.MotionPath">
            <s:MotionPath property="scaleX">
                <s:Keyframe time="250" value="0.5"/>
                <s:Keyframe time="500" value="1.0"/>
                <s:Keyframe time="750" value="0.5"/>
                <s:Keyframe time="1000" value="1.0"/> 
                <s:Keyframe time="1250" value="0.5"/>
                <s:Keyframe time="1500" value="1.0"/>
            </s:MotionPath> 
            <s:MotionPath property="scaleY">
                <s:Keyframe time="250" value="0.5"/>
                <s:Keyframe time="500" value="1.0"/>
                <s:Keyframe time="750" value="0.5"/>
                <s:Keyframe time="1000" value="1.0"/>
                <s:Keyframe time="1250" value="0.5"/>
                <s:Keyframe time="1500" value="1.0"/>
            </s:MotionPath>
        </fx:Vector>
        
        <s:Animate id="shrinkEffect"
            motionPaths="{kf}"
            target="{myImage}"/>
    </fx:Declarations>

    <s:Panel id="examplePanel"
        title="Keyframe and MotionPath Effect Example"
        width="75%" height="75%">
        <s:layout>
            <s:VerticalLayout paddingTop="10" paddingLeft="10"/>
        </s:layout>

        <!-- Directions -->
        <s:VGroup id="detailsBox" width="50%" left="0">
            <s:Label width="99%" color="blue"
                text="Click the Adobe logo to watch the effect."/>
        </s:VGroup>

        <mx:Image id="myImage" 
            source="@Embed(source='assets/logo.jpg')"
            click="shrinkEffect.end();shrinkEffect.play();"/>
    </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.