Mit XML und den ActionScript-Klassen des fl.motion-Pakets können Sie ein Bewegungs-Tween beschreiben. Adobe Flash CS3 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 von anderen Symbolen 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 Einzelheiten zu den Bewegungs-Klassen finden Sie im fl.motion-Paket. Die Elemente der zugrunde liegenden XML-Datei entsprechen Klassen und Eigenschaften im ActionScript Komponenten-Referenzhandbuch für 3.0.

Beispiele anzeigen.

Die Hierarchie der XML-Elemente lautet wie folgt:

<Motion> <source> <Source> <dimensions> <geom:Rectangle /> </dimensions> <transformationPoint> <geom:Point /> </transformationPoint> </Source> </source> <Keyframe> <color> <Color /> </color> <tweens> <SimpleEase /> <CustomEase> <geom:Point /> </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. Weitere Informationen finden Sie in den Hinweisen zur Eigenschaft fl.motion.Motion.duration.
source     Erforderliches übergeordnetes Tag für das Source-Element. Dieses Tag hat keine Attribute, wird jedoch vom Compiler zur Verarbeitung des Source-Elements und der Attribute des Elements benötigt.
Source     Enthält die Eigenschaften des ursprünglich mit der Bewegung verknüpften visuellen Objekts. Weitere Informationen finden Sie in den Hinweisen zur Klasse fl.motion.Source.
  frameRate Number Die Bildwiederholrate (in fps) der SWF-Datei, die die ursprüngliche aus Flash CS3 kopierte Animation enthält. Dieser Wert hat keine Auswirkungen auf die ActionScript-Implementierung in einer anderen SWF-Datei. Weitere Informationen finden Sie in den Hinweisen zur Eigenschaft fl.motion.Source.frameRate.
  x Number Die x-Koordinate des Transformationspunkts der Symbolinstanz am Anfang des ursprünglichen aus Flash CS3 kopierten Bewegungs-Tweens.
  y Number Die y-Koordinate des Transformationspunkts der Symbolinstanz am Anfang des ursprünglichen aus Flash CS3 kopierten Bewegungs-Tweens.
  scaleX Number Der Prozentsatz der horizontalen Skalierung, ausgedrückt als Dezimalwert. 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 Prozentsatz der vertikalen Skalierung, ausgedrückt als Dezimalwert. 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.
  rotation 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 CS3-Dokuments (falls vorhanden; beim ursprünglichen visuellen Objekt handelt es sich unter Umständen nicht um eine Symbolinstanz).
dimensions     Enthält ein Tag mit dem geom-Namespace zur Beschreibung der Begrenzungsbox für das getweente Symbol.
geom:Rectangle   Ein Objekt aus dem flash.geom-Paket. Definiert die Begrenzungsbox. Sie können Attribute hinzufügen, die den Eigenschaften des flash.geom.Rectangle-Objekts 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).

transformationPoint     Enthält ein Tag mit dem geom-Namespace zur Beschreibung des Transformationspunkts für das getweente Symbol.
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 sind die Koordinaten kleiner als 0 oder größer als 1.
Keyframe     Enthält Informationen zu einem Schlüsselbild auf der Zeitleiste.
  blank Boolean 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 Boolean 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 CS3-Optionen zum Kopieren und Einfügen von Bewegungen verwendet. Die Standardeinstellung lautet true, wenn keine Angabe in der XML vorgenommen wird.
  tweenSnap Boolean 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 CS3-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.
  rotation 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" und "ccw". Die Standardeinstellung lautet "auto", wenn keine Angabe in der XML vorgenommen wird.
  rotateTimes uint Fügt dem getweenten Element zusätzlich zu einer vorhandenen Drehung eine Drehung hinzu. Diese Drehung hängt von dem Wert des rotateDirection-Attributs ab, der auf "cw" oder "ccw" gesetzt sein muss. Bei dem Wert rotateTimes muss es sich um eine Ganzzahl handeln, die größer oder gleich null ist. Weitere Informationen finden Sie in den Hinweisen zur Eigenschaft fl.motion.Keyframe.rotateTimes.
  tweenScale Boolean 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 Boolean 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 Boolean Die Standardeinstellung lautet false, wenn keine Angabe in der XML vorgenommen wird.
color     Erforderliches übergeordnetes Tag für das Color-Element. Dieses Tag hat keine Attribute, wird jedoch vom Compiler zur Verarbeitung des Color-Elements und der Attribute des Elements benötigt.
Color     Enthält Einstellungen für Farbvariationen. Symbolinstanzen verfügen in Flash über fünf Farbmodi:. none, alpha, tint, brightness und advanced.

Wenn keine Transformation vorgenommen wird (none), ist das Tag Color leer, d. h., das Element wird normal dargestellt.

Legen Sie bei alpha-Transformationen die Attribute alphaMultiplier und alphaOffset fest.

Legen Sie bei tint-Transformationen die Attribute tintColor und tintMultiplier fest.

Verwenden Sie bei brightness-Transformationen das Attribut brightness.

Verwenden Sie bei advanced-Transformationen 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 Hexadecimal 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 Rotkanalwert addiert wird, nachdem dieser mit dem redMultiplier-Wert multipliziert wurde.
  greenOffset Number Eine Zahl zwischen -255 und 255, die zum Grünkanalwert addiert wird, nachdem dieser mit dem greenMultiplier-Wert multipliziert wurde.
  blueOffset Number Eine Zahl zwischen -255 und 255, die zum Blaukanalwert 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 alphaMultiplier 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 CS3 erstellt das Authoring-Tool XML-Code ohne target-Attribut für das Element SimpleEase, da Flash CS3 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 identisch mit denen 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. Die Kurve kann auf alle Eigenschaften gleichzeitig angewendet werden. Sie können jedoch auch unterschiedliche Kurven für die einzelnen Eigenschaften definieren.

Weitere Informationen zu den Kurven für individuelle Beschleunigungseigenschaften finden Sie in den Hinweisen zur Klasse CustomEase.

  target Number Die Eigenschaft, der ein benutzerdefinierter Wert zugewiesen ist. Bei Verwendung der Befehle zum Kopieren und Einfügen von Bewegungen in Adobe Flash CS3 erstellt das Authoring-Tool die folgenden möglichen Werte für target: "position", "scale", "rotation", "color" und "filters". Die Bewegungsklassen in ActionScript 3.0 ermöglichen eine noch größere Flexibilität. Sie können individuelle Kurven für die folgenden Elemente definieren: "x", "y", "scaleX", "scaleY", "skewX" und "skewY". Wenn das Attribut "target" im XML-Code weggelassen wird, werden sämtliche Beschleunigungseigenschaften zusammen angewendet.

Hinweis:In der XML 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.

filters     Definiert ein Objekt aus dem flash.filters-Paket zur Verwendung als Element (Beispiel: filters:GlowFilter). Sie können Attribute hinzufügen, die den Eigenschaften des angegebenen flash.filters-Objekts 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-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="140.35" y="142.35" scaleX="1" scaleY="1" rotation="0" elementType="movie clip" instanceName="moveShape" symbolName="myShape"> <dimensions> <geom:Rectangle left="13" top="5" width="125.5" height="125.5"/> </dimensions> <transformationPoint> <geom:Point x="0.5" y="0.5"/> </transformationPoint> </Source> </source> <Keyframe index="0" rotateDirection="cw" rotateTimes="1" tweenSnap="false" scaleX="1" scaleY="1" rotation="0"> <color> <Color alphaMultiplier="0.4"/> </color> <tweens> <CustomEase target="position"> <geom:Point x="0.09500906065407433" y="0.09500906065407433"/> <geom:Point x="0.460384258177029" y="0.11105020134567312"/> <geom:Point x="0.5441860465116279" y="0.22916666666666663"/> <geom:Point x="0.685859138879818" y="0.42885124660440044"/> <geom:Point x="0.5417057701316985" y="0.7393801887363497"/> <geom:Point x="0.7023255813953488" y="0.8999999999999999"/> <geom:Point x="0.7800300428109576" y="0.9777044614156086"/> <geom:Point x="0.9222955385843912" y="0.9222955385843913"/> </CustomEase> <CustomEase target="scale"> <geom:Point x="0.3333333333333333" y="0.3333333333333333"/> <geom:Point x="0.6666666666666666" y="0.6666666666666666"/> </CustomEase> <CustomEase target="rotation"> <geom:Point x="0.19132280349731443" y="0.19132280349731445"/> <geom:Point x="0.4753438631693523" y="0.13159386316935218"/> <geom:Point x="0.6666666666666667" y="0.32291666666666663"/> <geom:Point x="0.8086771965026857" y="0.46492719650268555"/> <geom:Point x="0.8579894701639811" y="0.8579894701639811"/> </CustomEase> <CustomEase target="color"> <geom:Point x="0.3333333333333333" y="0.3333333333333333"/> <geom:Point x="0.6666666666666666" y="0.6666666666666666"/> </CustomEase> <CustomEase target="filters"> <geom:Point x="0.3333333333333333" y="0.3333333333333333"/> <geom:Point x="0.6666666666666666" y="0.6666666666666666"/> </CustomEase> </tweens> </Keyframe> <Keyframe index="9" x="304.95" y="122"> <color> <Color/> </color> </Keyframe> </Motion>; var moveShape_animator:Animator = new Animator(moveShape_xml, moveShape); moveShape_animator.play();

Das folgende Beispiel zeigt einen einfacheren Bewegungs-Tween mit einem Ereignis aus einer fl.motion.MotionEvent-Klasse, das eine Meldung einblendet, wenn die Animation für die Symbolinstanz abox beendet ist:

import fl.motion.Animator; import fl.motion.MotionEvent; var abox_xml:XML = <Motion duration="10" xmlns="fl.motion.*" xmlns:geom="flash.geom.*" xmlns:filters="flash.filters.*"> <source> <Source frameRate="12" x="186.45" y="120.45" scaleX="1" scaleY="1" rotation="0" elementType="movie clip" symbolName="Symbol 1"> <dimensions> <geom:Rectangle left="0" top="0" width="86.95" height="86.95"/> </dimensions> <transformationPoint> <geom:Point x="0.49971247843588273" y="0.49971247843588273"/> </transformationPoint> </Source> </source> <Keyframe index="0" rotateDirection="cw" rotateTimes="1"> <tweens> <SimpleEase ease="0.8"/> </tweens> </Keyframe> <Keyframe index="9" x="198" y="123"/> </Motion>; var abox_animator:Animator = new Animator(abox_xml, abox); abox_animator.play(); abox_animator.addEventListener(MotionEvent.MOTION_END,afterMotion); function afterMotion(e:MotionEvent) { trace("animation complete!"); }

 

Eine E-Mail an mich senden, wenn dieser Seite Kommentare hinzugefügt werden | Kommentarbericht

Aktuelle Seite: http://livedocs.adobe.com/flash/9.0_de/ActionScriptLangRefV3/motionXSD.html