Paket | spark.effects.animation |
Klasse | public class MotionPath |
Vererbung | MotionPath Object |
Unterklassen | SimpleMotionPath |
Sprachversion: | ActionScript 3.0 |
Produktversion: | Flex 4 |
Laufzeitversionen: | Flash Player 10, AIR 1.5 |
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
Verwandte API-Elemente
Eigenschaft | Definiert von | ||
---|---|---|---|
constructor : 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 |
Methode | Definiert 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 | ||
Gibt an, ob für ein Objekt eine bestimmte Eigenschaft definiert wurde. | Object | ||
Gibt an, ob eine Instanz der Object-Klasse in der Prototypkette des Objekts vorhanden ist, das als Parameter angegeben wurde. | Object | ||
Gibt an, ob die angegebene Eigenschaft vorhanden ist und durchlaufen werden kann. | Object | ||
Legt die Verfügbarkeit einer dynamischen Eigenschaft für Schleifenoperationen fest. | Object | ||
Gibt die Stringdarstellung dieses Objekts zurück, formatiert entsprechend den Konventionen des Gebietsschemas. | Object | ||
Gibt das angegebene Objekt als String zurück. | Object | ||
Gibt den Grundwert des angegebenen Objekts zurück. | Object |
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:
- 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
- undvalueBy
-Eigenschaft eingestellt sind, und zwar als Unterschied zwischen diesen Werten. Andernfalls wird der aktuelle Wert der jeweiligen Eigenschaft vom Ziel übernommen. - 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.
- Andernfalls berechnet jedes Schlüsselbild die
value
-Eigenschaft, indem es zurvalue
-Eigenschaft des vorherigen Schlüsselbilds dievalueBy
-Eigenschaft des aktuellen Schlüsselbilds addiert, wennvalueBy
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.
MotionPath | () | Konstruktor |
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ückgabewerteMotionPath — 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).
|
Object — Der interpolierte Wert.
|
<?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>
Tue Jun 12 2018, 10:04 AM Z