Mit XML und den ActionScript-Klassen des fl.motion-Pakets können Sie ein Bewegungs-Tween beschreiben. Adobe Flash Professional verfügt über eine Funktion zum Kopieren von Bewegung als ActionScript, mit dem XML- und ActionScript-Code auf der Basis eines Bewegungs-Tweens in der Zeitleiste erstellt wird. Dieser Code kann für andere Symbole bzw. in anderen Projekten verwendet werden. Sie können auch Ihr eigenes Bewegungs-Tween verfassen. Wenn sich bei der Kompilierung die fl.motion-Klassen im Klassenpfad befinden, wird das Bewegungs-Tween auf das von Ihnen angegebene Anzeigeobjekt angewendet. Weitere Informationen zu den Motion-Klassen finden Sie im fl.motion-Paket. Die Elemente der zugrunde liegenden XML-Datei entsprechen Klassen und Eigenschaften im ActionScript 3.0-Referenzhandbuch.
© 2015 Adobe Systems Incorporated. All rights reserved.
Tue Jun 12 2018, 10:20 AM Z
Die Hierarchie der XML-Elemente lautet wie folgt:
<Motion> <Source> <dimensions/> <geom:Rectangle /> </dimensions> <transformationPoint> <geom:Point /> </transformationPoint> </Source> <Keyframe> <color> <Color /> </color> <tweens> <SimpleEase /> <CustomEase> <BezierControl /> <BezierNode /> </CustomEase> </tweens> <filters> <filters /> </filters> </Keyframe> </Motion>
In der folgenden Tabelle sind die XML-Elemente und -Attribute, die einem Bewegungsobjekt zugewiesen werden können, kurz zusammengefasst. Weitere Details zu den einzelnen Einträgen finden Sie in den Eigenschaften, die in den Klassen für die einzelnen Elemente aufgeführt sind:
Element | Attribut | Typ | Beschreibung |
---|---|---|---|
Motion | Definiert die Motion-Instanz, damit Eigenschaften zur Charakterisierung des Bewegungs-Tweens zugewiesen werden können. Siehe fl.motion.Motion-Klasse. | ||
duration | Number | Anzahl der Bilder für das ausgewählte Bewegungs-Tween. Siehe fl.motion.MotionBase.duration-Eigenschaft. | |
source | Enthält die Eigenschaften des ursprünglich mit der Bewegung verknüpften visuellen Objekts. Siehe fl.motion.Source-Klasse. | ||
Source | frameRate | Number | Die Bildwiederholrate (in fps) der SWF-Datei, die die ursprüngliche aus Flash Professional kopierte Animation enthält. Dieser Wert hat keine Auswirkungen auf die ActionScript-Implementierung in einer anderen SWF-Datei. Siehe fl.motion.Source.frameRate-Eigenschaft. |
x | Number | Die x-Koordinate des Transformationspunkts der Symbolinstanz am Anfang des ursprünglichen aus Flash Professional kopierten Bewegungs-Tweens. | |
y | Number | Die y-Koordinate des Transformationspunkts der Symbolinstanz am Anfang des ursprünglichen aus Flash Professional kopierten Bewegungs-Tweens. | |
scaleX | Number | Der Prozentwert der horizontalen Skalierung als Dezimalwert. Der Wert liegt häufig zwischen 0 und 1, kann jedoch auch größer als 1 oder kleiner als 0 sein. Sie können scaleX zum Beispiel auf -1 setzen, um das Objekt zu spiegeln, oder auf 3, um es auf das Dreifache der Originalgröße zu skalieren. | |
skewX | Number | Der Winkel (in Grad), um den das Objekt entlang der horizontalen Achse geneigt wird. Wenn die Werte für skewX und skewY identisch sind, werden sie durch das Attribut rotation ersetzt. | |
skewY | Number | Der Winkel (in Grad), um den das Objekt entlang der vertikalen Achse geneigt wird. Wenn die Werte für skewX und skewY identisch sind, werden sie durch das Attribut rotation ersetzt. | |
Drehung | Number | Der Drehwinkel des ursprünglichen Bilds. | |
elementType | String | Der Typ des im Bewegungs-Tween verwendeten visuellen Objekts. Mögliche Werte sind „movie clip“, „button“, „graphic“, „rectangle object“, „oval object“, „drawing object“, „group“, „bitmap“, „compiled clip“, „video“ oder „text“. | |
symbolName | String | Der Name des Symbols in der Bibliothek des Adobe Flash Professional-Dokuments (falls vorhanden; beim ursprünglichen visuellen Objekt handelt es sich unter Umständen nicht um eine Symbolinstanz). | |
dimensions | Enthält die Tags mit dem geom-Namespace zur Beschreibung der Begrenzungsbox und des Transformationspunkts für das getweente Symbol. | ||
geom:Rectangle | Ein Objekt aus dem flash.geom-Paket. | Sie können Attribute hinzufügen, die den Eigenschaften des Objekts „flash.geom.Rectangle“ entsprechen. Beispiel: <geom:Rectangle left="7" top="9" width="151.95" height="151.95" />Die Werte für top und left gelten relativ zum Registrierungspunkt des übergeordneten Objekts (top und left sind im Koordinatenraum des übergeordneten Objekts definiert. | |
geom:Point | Ein Objekt aus dem flash.geom-Paket. | Die Koordinaten des Transformationspunkts werden als Prozentsatz der Abmessungen der Begrenzungsbox definiert (Werte des Elements geom:Rectangle). Wenn sich der Transformationspunkt in der oberen linken Ecke der Begrenzungsbox befindet, lauten die Koordinaten (0, 0). Wenn sich der Transformationspunkt in der unteren rechten Ecke der Begrenzungsbox befindet, lauten die Koordinaten (1, 1). Mithilfe dieser Werte kann der Transformationspunkt einheitlich auf Objekte mit unterschiedlichen Proportionen und Registrierungspunkten angewendet werden. Der Transformationspunkt kann außerhalb der Begrenzungsbox liegen. In diesem Fall können die Koordinaten kleiner als 0 oder größer als 1 sein. | |
Schlüsselbild | Enthält Informationen zu einem Schlüsselbild auf der Zeitleiste. | ||
blank | Boolescher Ausdruck | Gibt an, dass das Schlüsselbild leer ist. | |
index | Number | Eine eindeutige Ganzzahl für das Schlüsselbild. Der erste Schlüsselbildindex ist immer 0. Schlüsselbilder in der XML-Datei müssen in aufsteigender Reihenfolge des Indexwerts angegeben werden. | |
label | String | Ein optionaler String, der das Schlüsselbild beschreibt und einer Bildbezeichnung in der Zeitleiste entspricht. | |
tweenSync | Boolescher Ausdruck | Zum Einschalten (true) und Ausschalten (false) der Synchronisierungseinstellung. Bei einer Synchronisierung wird die Anzahl der Bilder in einem Tween neu berechnet und an die Anzahl der in der Zeitleiste zugewiesenen Bilder angepasst. Dieses Attribut hat keine Auswirkungen auf die ActionScript-Animation, da mit ActionScript keine Grafiksymbole gesteuert werden können. Das XML-Attribut wird nur von den Adobe Flash Professional-Befehlen zum Kopieren und Einfügen von Bewegungen verwendet. Die Standardeinstellung lautet true, wenn keine Angabe in der XML vorgenommen wird. | |
tweenSnap | Boolescher Ausdruck | Zum Einschalten (true) und Ausschalten (false) der Ausrichtungseinstellung. Durch die Ausrichtungsfunktion wird ein Symbol anhand des Registrierungspunkts am Bewegungspfad ausgerichtet. Dieses Attribut hat keine Auswirkungen auf die ActionScript-Animation, da mit ActionScript keine Grafiksymbole gesteuert werden können. Das XML-Attribut wird nur von den Adobe Flash Professional-Optionen zum Kopieren und Einfügen von Bewegungen verwendet. Die Standardeinstellung lautet true, wenn keine Angabe in der XML vorgenommen wird. | |
x | Number | Die x-Koordinate des Mittelpunkts der Symbolinstanz im aktuellen Schlüsselbild. | |
y | Number | Die y-Koordinate des Mittelpunkts der Symbolinstanz im aktuellen Schlüsselbild. | |
scaleX | Number | Der Prozentwert der horizontalen Skalierung, ausgedrückt als Dezimalwert zwischen 0 und 1. Der Wert liegt häufig zwischen 0 und 1, kann diesen Bereich jedoch auch über- bzw. unterschreiten. Sie können scaleX zum Beispiel auf -1 setzen, um das Objekt zu drehen, oder auf 3, um es auf 300 % zu vergrößern. | |
scaleY | Number | Der Prozentwert der vertikalen Skalierung, ausgedrückt als Dezimalwert zwischen 0 und 1. Der Wert liegt häufig zwischen 0 und 1, kann diesen Bereich jedoch auch über- bzw. unterschreiten. Sie können scaleY zum Beispiel auf -1 setzen, um das Objekt zu drehen, oder auf 3, um es auf 300 % zu vergrößern. | |
skewX | Number | Der Winkel (in Grad), um den das Objekt entlang der horizontalen Achse geneigt wird. Wenn die Werte für skewX und skewY identisch sind, werden sie durch das Attribut rotation ersetzt. | |
skewY | Number | Der Winkel (in Grad), um den das Objekt entlang der vertikalen Achse geneigt wird. Wenn die Werte für skewX und skewY identisch sind, werden sie durch das Attribut rotation ersetzt. | |
Drehung | Number | Der Drehwinkel des aktuellen Bilds. | |
rotateDirection | String | Gibt an, wie stark das getweente Element gedreht wird. Folgende Werte sind möglich: „auto“, „none“, „cw“, „ccw“. Die Standardeinstellung lautet „auto“, wenn keine Angabe in der XML vorgenommen wird. | |
rotateTimes | Number | Gibt an, wie häufig das getweente Element zusätzlich zur normalen Drehung zwischen dem ersten und dem nächsten Schlüsselbild gedreht wird. Adobe Flash Professional erfordert, dass es sich bei dem Wert um eine Ganzzahl größer als oder gleich 0 handelt. Die Bewegungsklassen ermöglichen jedoch auch die Angabe von Dezimalwerten. | |
tweenScale | Boolescher Ausdruck | Bei der Einstellung false ändert sich die Skalierung während eines Tween-Vorgangs nicht. Die Standardeinstellung lautet true, wenn keine Angabe in der XML vorgenommen wird. | |
cacheAsBitmap | Boolescher Ausdruck | Die Standardeinstellung lautet false, wenn keine Angabe in der XML vorgenommen wird. | |
blendMode | String | Mögliche Werte sind: „normal“, „layer“, „multiply“, „screen“, „overlay“, „hardlight“, „lighten“, „darken“, „difference“, „add“, „subtract“, „invert“, „alpha“ und „erase“. Die Standardeinstellung lautet „normal“, wenn keine Angabe in der XML vorgenommen wird. | |
orientToPath | Boolescher Ausdruck | Die Standardeinstellung lautet false, wenn keine Angabe in der XML vorgenommen wird. | |
Color | Enthält Einstellungen für Farbvariationen. Flash-Symbolinstanzen haben fünf Farbmodi: none, alpha, tint, brightness und advanced. Ohne Transformation (none) ist das Color-Tag leer und gibt damit das normale Erscheinungsbild an. Bei Alpha-Transformationen setzen Sie die Attribute alphaMultiplier und alphaOffset. Für Farbtontransformationen setzen Sie die Attribute tintColor und tintMultiplier.Für Helligkeitstransformationen verwenden Sie das brightness-Attribut. Für erweiterte Transformationen verwenden Sie die Attribute redMultiplier, greenMultiplier, blueMultiplier, alphaMultiplier, redOffset, greenOffset, blueOffset und alphaOffset. | ||
brightness | Number | Der Anteil, mit dem der Helligkeitskanal angewendet wird, ausgedrückt durch einen Wert zwischen -1 (vollkommen schwarz) und 1 (vollkommen weiß). | |
tintColor | Hexadezimal | Ein Hexadezimalfarbwert, mit dem die anzuwendende Farbe angegeben wird. | |
alphaMultiplier | Number | Der Anteil, mit dem der Alphakanal angewendet wird, als Dezimalwert zwischen 0 und 1. | |
redMultiplier | Number | Der Anteil, mit dem die Farbe angewendet wird, als Dezimalwert zwischen 0 und 1. | |
greenMultiplier | Number | Der Anteil, mit dem die Farbe angewendet wird, als Dezimalwert zwischen 0 und 1. | |
blueMultiplier | Number | Der Anteil, mit dem die Farbe angewendet wird, als Dezimalwert zwischen 0 und 1. | |
alphaMultiplier | Number | Der Anteil, mit dem der Alphatransparenzkanal angewendet wird, als Dezimalwert zwischen 0 und 1. | |
tintMultiplier | Number | Der Anteil, mit dem der tintColor-Wert angewendet wird, als Dezimalwert zwischen 0 und 1. | |
redOffset | Number | Eine Zahl zwischen -255 und 255, die zum Rot-Kanalwert addiert wird, nachdem dieser mit dem „redMultiplier“-Wert multipliziert wurde. | |
greenOffset | Number | Eine Zahl zwischen -255 und 255, die zum Grün-Kanalwert addiert wird, nachdem dieser mit dem „greenMultiplier“-Wert multipliziert wurde. | |
blueOffset | Number | Eine Zahl zwischen -255 und 255, die zum Blau-Kanalwert addiert wird, nachdem dieser mit dem „blueMultiplier“-Wert multipliziert wurde. | |
alphaOffset | Number | Eine Zahl zwischen -255 und 255, die zum Alphakanalwert addiert wird, nachdem dieser mit dem alphaMultiplier-Wert multipliziert wurde. | |
tweens | Enthält Einstellungen für Beschleunigungsvariationen. | ||
SimpleEase | Definiert eine Beschleunigungseinstellung mit einem einzelnen Wert für alle Beschleunigungseigenschaften im kompletten Bewegungs-Tween. | ||
ease | Number | Der Beschleunigungswert, der auf sämtliche Eigenschaften des Bewegungs-Tweens angewendet wird. Das Attribut „ease“ ist ein Wert zwischen -1 (100 % Beschleunigung) und 1 (100 % Verlangsamung). Der Standardwert lautet 0. Hierbei wird das Tween bei konstanter Geschwindigkeit, d. h. nicht beschleunigt oder verlangsamt, animiert. | |
target | Number | Mit den Befehlen zum Kopieren und Einfügen von Bewegungen in Adobe Flash Professional erstellt das Authoring-Tool XML-Code ohne target-Attribut für das Element SimpleEase, da Flash Professional den gleichen Wert auf alle Beschleunigungseigenschaften anwendet. Die Klassen in ActionScript 3.0 ermöglichen jedoch die gleichzeitige Anwendung unterschiedlicher SimpleEase-Werte für verschiedene Eigenschaften. Die möglichen Werte für „target“ sind dieselben wie für „CustomEase“: "position", "scale", "rotation", "color", "filters", "x", "y", "scaleX", "scaleY", "skewX" und "skewY". | |
CustomEase | Definiert eine Beschleunigungskurve, die sich aus kubischen Bézierkurven zusammensetzt. Sie kann gleichzeitig auf alle Eigenschaften angewendet werden, Sie können aber auch verschiedenen Kurven für verschiedene Eigenschaften definieren. Weitere Informationen zu den Kurven, die Beschleunigungseigenschaften repräsentieren, finden Sie in der Beschreibung der CustomEase-Klasse. | ||
target | Number | Die Eigenschaft, der ein benutzerdefinierter Wert zugewiesen ist. Bei Verwendung der Befehle zum Kopieren und Einfügen von Bewegungen in Adobe Flash Professional erstellt das Authoring-Tool die folgenden möglichen Werte für „target“: "position", "scale", "rotation", "color", "filters". Die ActionScript 3.0-Bewegungsklassen geben Ihnen noch mehr Flexibilität; Sie können separate Kurven für "x", "y", "scaleX", "scaleY", "skewX" und "skewY" definieren. Wenn das target-Attribut im XML-Code weggelassen wird, werden sämtliche Beschleunigungseigenschaften zusammen angewendet. Hinweis: Im XML-Code werden der erste und der letzte Punkt der individuellen Beschleunigungskurve weggelassen. Der erste Punkt muss immer (0, 0) sein (der Ausgangswert der getweenten Eigenschaft), der letzte Punkt immer (1, 1) (der Endwert der getweenten Eigenschaft). Zur Steigerung der Codeeffizienz und zur Vermeidung möglicher Fehler werden diese Werte im XML-Code ausgelassen und als gegeben vorausgesetzt. | |
BezierControl | Ein Punkt relativ zu einer Kurve, der zum Definieren der Kurve verwendet wird. | ||
x | Number | Die x-Koordinate des Punkts zum Definieren einer Kurve. | |
y | Number | Die y-Koordinate des Punkts zum Definieren einer Kurve. | |
BezierNode | Ein Punkt auf einer Kurve, der zum Definieren der Kurve verwendet wird. | ||
x | Number | Die x-Koordinate des Punkts auf einer Kurve. | |
y | Number | Die y-Koordinate des Punkts auf einer Kurve. | |
filters | Definiert ein Objekt aus dem flash.filters-Paket zur Verwendung als Element (zum Beispiel filters:GlowFilter). Sie können Attribute hinzufügen, die den Eigenschaften des Objekts „flash.filters“ entsprechen. Beispiel: <filters:DropShadowFilter quality="1" inner="false" knockout="false" hideObject="false" distance="0" angle="45" color="0x000000" alpha="1" blurX="0" blurY="0" strength="0" />. Siehe flash.filters-Paket. |
Im folgenden Beispiel ist das ActionScript dargestellt, das XML-Code für das Bewegungs-Tween einer moveShape-Movieclip-Instanz für das Symbol myShape enthält. Der Code umfasst Informationen zur Drehung und Bewegung sowie eine individuelle Beschleunigungseinstellung und eine Veränderung der Alphawerte über zehn Bilder hinweg:
import fl.motion.Animator; var moveShape_xml:XML = <Motion duration="10" xmlns="fl.motion.*" xmlns:geom="flash.geom.*" xmlns:filters="flash.filters.*"> <source> <Source frameRate="12" x="41.35" y="91.35" scaleX="1" scaleY="1" rotation="0" elementType="movie clip" instanceName="moveShape" symbolName="myShape"> <dimensions> <geom:Rectangle left="-46.65" top="-61.95" width="133.05" height="133.95"/> </dimensions> <transformationPoint> <geom:Point x="0.49981210071401727" y="0.4998133631952222"/> </transformationPoint> </Source> </source> <Keyframe index="0" rotateTimes="2"> <tweens> <CustomEase> <BezierControl x="0.08650266979261687" y="0.14705453864744866"/> <BezierControl x="0.23675978562091857" y="0.28829454738109694"/> <BezierNode x="0.2689728109485753" y="0.49688733564952436"/> <BezierControl x="0.32093023255813957" y="0.8333333333333333"/> <BezierControl x="0.5988021982960045" y="1.034249160488573"/> <BezierNode x="0.7309082984924317" y="0.8685852488735627"/> <BezierControl x="0.8116279069767443" y="0.767361111111111"/> <BezierControl x="0.910302766164144" y="0.9730908298492431"/> </CustomEase> </tweens> </Keyframe> <Keyframe index="9" x="371.95" y="188"> <color> <Color alphaMultiplier="0.4" alphaOffset="0"/> </color> </Keyframe> </Motion>; var moveShape_animator:Animator = new Animator(moveShape_xml, moveShape); moveShape_animator.play();
Tue Jun 12 2018, 10:20 AM Z