U kunt een bewegings-tween beschrijven door gebruik te maken van XML en de ActionScript-klassen in het pakket fl.motion. In Adobe Flash Professional kunt u met de opdracht "Beweging kopiëren als ActionScript" XML en ActionScript genereren op basis van een bewegings-tween op de tijdlijn voor gebruik bij andere symbolen of in andere projecten. U kunt ook een script voor uw eigen bewegings-tween maken. Als de klassen van fl.motion bij compilatie in het klassepad staan, wordt de bewegings-tween op het opgegeven weergaveobject toegepast. Zie het pakket fl.motion voor meer informatie over de bewegingsklassen. De elementen van de ondersteunende XML corresponderen met klassen en eigenschappen in de Naslaggids voor ActionScript 3.0 en ActionScript 3.0-componenten.
© 2015 Adobe Systems Incorporated. All rights reserved.
Wed Jun 13 2018, 11:59 AM Z
De hiërarchie van XML-elementen is als volgt:
<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>
De volgende tabel is een beknopt overzicht van de XML-elementen en -kenmerken die aan een bewegingsobject kunnen worden toegewezen. Raadpleeg de eigenschappen die worden weergegeven in de klassen die met de elementen corresponderen voor meer informatie over de verschillende items:
Element | Kenmerk | Type | Beschrijving |
---|---|---|---|
Beweging | Definieert de bewegingsinstantie, zodat Flash eigenschappen kan toewijzen die de bewegings-tween kenmerken. Zie de klasse fl.motion.Motion . | ||
duration | Number | Aantal frames voor de geselecteerde bewegings-tween. Zie de eigenschap fl.motion.MotionBase.duration . | |
bron | Bevat de eigenschappen van het oorspronkelijke visuele object dat aan de beweging is gekoppeld. Zie de klasse fl.motion.Source. | ||
Bron | frameRate | Number | Het aantal frames per seconde (fps) voor het SWF-bestand met de oorspronkelijke animatie (gekopieerd uit Flash Professional). Deze waarde heeft geen invloed op de ActionScript-implementatie in een ander SWF-bestand. Zie de eigenschap fl.motion.Source.frameRate. |
x | Number | De x-coördinaat van het transformatiepunt van de symboolinstantie aan het begin van de oorspronkelijke bewegings-tween (gekopieerd uit Flash Professional). | |
y | Number | De y-coördinaat van het transformatiepunt van de symboolinstantie aan het begin van de oorspronkelijke bewegings-tween (gekopieerd uit Flash Professional). | |
scaleX | Number | Het percentage van de horizontale schaal als decimale waarde. De waarde ligt vaak tussen 0 en 1, maar kan groter zijn dan 1 of kleiner dan 0. U kunt scaleX bijvoorbeeld op -1 instellen om het object te spiegelen, of op 3 om het object drie keer zo groot te maken als het oorspronkelijke formaat. | |
skewX | Number | De hoek (in graden) van het scheeftrekken langs de horizontale as. Als de waarden voor skewX en skewY identiek zijn, worden deze vervangen door het kenmerk rotation. | |
skewY | Number | De hoek (in graden) voor scheeftrekken langs de verticale as. Als de waarden voor skewX en skewY identiek zijn, worden deze vervangen door het kenmerk rotation. | |
rotation | Number | De rotatiehoek (in graden) voor het eerste frame. | |
elementType | Tekenreeks | Het type visueel object dat in de bewegings-tween wordt gebruikt. Mogelijke waarden zijn: "movie clip", "button", "graphic", "rectangle object", "oval object", "drawing object", "group", "bitmap", "compiled clip", "video" en "text". | |
symboolnaam | Tekenreeks | Naam van het symbool in de bibliotheek van het Adobe Flash Professional-document, als dit bestaat (het oorspronkelijke visuele object is mogelijk geen symboolinstantie). | |
dimensions | Bevat de tags die de naamruimte geom gebruiken om het selectiekader en transformatiepunt voor het getweende symbool te beschrijven. | ||
geom:Rectangle | Een object uit het pakket flash.geom . | U kunt kenmerken toevoegen die corresponderen met de eigenschappen van het object flash.geom.Rectangle. Bijvoorbeeld: <geom:Rectangle left="7" top="9" width="151.95" height="151.95" />De waarden voor top en left zijn relatief ten opzichte van het registratiepunt van het bovenliggende object (top en left worden gedefinieerd in de coördinatieruimte van het bovenliggende object). | |
geom:Point | Een object uit het pakket flash.geom . | De coördinaten van het transformatiepunt zijn gedefinieerd als een percentage van de afmetingen van het selectiekader (waarden van het element geom:Rectangle). Wanneer het transformatiepunt zich in de linkerbovenhoek van het selectiekader bevindt, zijn de coördinaten (0, 0). Wanneer het transformatiepunt zich in de rechteronderhoek van het selectiekader bevindt, zijn de coördinaten (1, 1). Met deze waarden kunt u het transformatiepunt consistent toepassen op objecten met verschillende afmetingen en registratiepunten. Het transformatiepunt kan buiten het selectiekader liggen, in welk geval de coördinaten kleiner dan 0 of groter dan 1 zijn. | |
Hoofdframe | Bevat informatie die correspondeert met een hoofdframe op de tijdlijn. | ||
blank | Boolean | Geeft aan dat het hoofdframe leeg is. | |
index | Number | Een unieke geheel-getalwaarde voor het hoofdframe. De eerste hoofdframe-index is altijd 0. Hoofdframes in de XML moeten worden opgegeven in oplopende volgorde van de indexwaarde. | |
label | Tekenreeks | Een optionele tekenreeks die het hoofdframe beschrijft en correspondeert met een framelabel op de tijdlijn. | |
tweenSync | Boolean | Schakelt de sync-instelling in ("true") en uit ("false"). Met Sync wordt het aantal frames in een tween opnieuw berekend op basis van het aantal frames dat eraan is toegewezen op de tijdlijn. Dit kenmerk heeft geen invloed op ActionScript-animatie, aangezien ActionScript geen grafische symbolen kan besturen. Het XML-kenmerk wordt alleen gebruikt door de opdrachten Beweging kopiëren en Beweging plakken van Adobe Flash Professional. De standaardwaarde is true als dit kenmerk wordt weggelaten in de XML. | |
tweenSnap | Boolean | Schakelt de instelling voor magnetische uitlijning in ("true") en uit ("false"). Bij magnetische uitlijning wordt een symbool op basis van het registratiepunt aan het bewegingspad gekoppeld. Dit kenmerk heeft geen invloed op ActionScript-animatie, aangezien ActionScript geen grafische symbolen kan besturen. Het XML-kenmerk wordt alleen gebruikt door de opdrachten Beweging kopiëren en Beweging plakken van Adobe Flash Professional. De standaardwaarde is true als dit kenmerk wordt weggelaten in de XML. | |
x | Number | De x-coördinaat van het middelpunt van de symboolinstantie bij het huidige hoofdframe. | |
y | Number | De y-coördinaat van het middelpunt van de symboolinstantie bij het huidige hoofdframe. | |
scaleX | Number | Het percentage van de horizontale schaal als een decimale waarde tussen 0 en 1. De waarde ligt vaak tussen 0 en 1, maar kan soms groter zijn dan 1 of kleiner dan 0. U kunt scaleX bijvoorbeeld op -1 instellen om het object te spiegelen, of op 3 om het object drie keer zo groot te maken als het oorspronkelijke formaat. | |
scaleY | Number | Het percentage van de verticale schaal als een decimale waarde tussen 0 en 1. De waarde ligt vaak tussen 0 en 1, maar kan soms groter zijn dan 1 of kleiner dan 0. U kunt scaleY bijvoorbeeld op -1 instellen om het object te spiegelen, of op 3 om het object drie keer zo groot te maken als het oorspronkelijke formaat. | |
skewX | Number | De hoek (in graden) van het scheeftrekken langs de horizontale as. Als de waarden voor skewX en skewY identiek zijn, worden deze vervangen door het kenmerk rotation. | |
skewY | Number | De hoek (in graden) voor scheeftrekken langs de verticale as. Als de waarden voor skewX en skewY identiek zijn, worden deze vervangen door het kenmerk rotation. | |
rotation | Number | De rotatiehoek (in graden) voor het huidige frame. | |
rotateDirection | Tekenreeks | Geeft op hoe het getweende element wordt geroteerd. Mogelijke waarden zijn "auto", "none", "cw" en "ccw". De standaardwaarde is "auto" als dit kenmerk wordt weggelaten in de XML. | |
rotateTimes | Number | Geeft aan hoe vaak het getweende element draait tussen het beginhoofdframe en het volgende hoofdframe, bovenop de normale draaiing. In Adobe Flash Professional moet de waarde een geheel getal van 0 of meer zijn, maar in de bewegingsklassen zijn decimale waarden mogelijk. | |
tweenScale | Boolean | Als de waarde false is, kan de schaal tijdens een tween niet worden gewijzigd. De standaardwaarde is true als dit kenmerk wordt weggelaten in de XML. | |
cacheAsBitmap | Boolean | De standaardwaarde is false als dit kenmerk wordt weggelaten in de XML. | |
blendMode | Tekenreeks | Mogelijke waarden zijn "normal", "layer", "multiply", "screen", "overlay", "hardlight", "lighten", "darken", "difference", "add", "subtract", "invert", "alpha" en "erase". De standaardwaarde is "normaal" als dit kenmerk wordt weggelaten in de XML. | |
orientToPath | Boolean | De standaardwaarde is false als dit kenmerk wordt weggelaten in de XML. | |
Color | Bevat instellingen voor kleurvariaties. Instanties van Flash-symbolen kennen vijf kleurmodi: geen, alfa, tint, helderheid en geavanceerd. Voor geen transformatie (geen) laat u de tag Color leeg, waarmee de normale weergave wordt aangegeven. Voor alpha-transformaties stelt u de kenmerken alphaMultiplier en alphaOffset in. Voor tint-transformaties stelt u de kenmerken tintColor en tintMultiplier in.Voor helderheidstransformaties gebruikt u het kenmerk Brightness.Voor geavanceerde transformaties gebruikt u de kenmerken redMultiplier, greenMultiplier, blueMultiplier, alphaMultiplier, redOffset, greenOffset, blueOffset en alphaOffset. | ||
helderheid | Number | Het percentage waarmee helderheid moet worden toegepast, als waarde tussen -1 en 1, waarbij -1 volledig zwart en 1 volledig wit is. | |
tintColor | Hexidecimal | Een hexadecimale kleurwaarde die de toe te passen kleur aangeeft. | |
alphaMultiplier | Number | Het percentage waarmee het alfakanaal moet worden toegepast, als decimale waarde tussen 0 en 1. | |
redMultiplier | Number | Het percentage waarmee de kleur moet worden toegepast, als een decimale waarde tussen 0 en 1. | |
greenMultiplier | Number | Het percentage waarmee de kleur moet worden toegepast, als een decimale waarde tussen 0 en 1. | |
blueMultiplier | Number | Het percentage waarmee de kleur moet worden toegepast, als een decimale waarde tussen 0 en 1. | |
alphaMultiplier | Number | Een decimale waarde tussen 0 en 1, waarmee wordt opgegeven met welk percentage alpha-transparantie moet worden toegepast. | |
tintMultiplier | Number | Een decimale waarde tussen 0 en 1, waarmee wordt opgegeven met welk percentage de waarde voor tintColor moet worden toegepast. | |
redOffset | Number | Een getal van -255 tot 255 dat bij de waarde voor het rode kanaal wordt opgeteld nadat deze met de waarde redMultiplier is vermenigvuldigd. | |
greenOffset | Number | Een getal van -255 tot 255 dat bij de waarde voor het groene kanaal wordt opgeteld nadat deze met de waarde greenMultiplier is vermenigvuldigd. | |
blueOffset | Number | Een getal van -255 tot en met 255 dat bij de waarde voor het blauwe kanaal wordt opgeteld nadat deze met de waarde blueMultiplier is vermenigvuldigd. | |
alphaOffset | Number | Een getal van -255 tot en met 255 dat bij de waarde voor het alpha-kanaal wordt opgeteld nadat deze met de waarde alphaMultiplier is vermenigvuldigd. | |
tweens | Bevat instellingen voor versnellingsvariaties. | ||
SimpleEase | Definieert een versnellingsinstelling met één waarde voor de gehele bewegings-tween voor alle versnellingseigenschappen. | ||
ease | Number | De versnellingswaarde die moet worden toegepast op alle eigenschappen van de bewegings-tween. Het versnellingskenmerk is een percentage tussen -1 (100% versnelling) en 1 (100% vertraging). De standaardwaarde is 0. Dit betekent dat de tween een animatie met een constante snelheid heeft, dus zonder versnelling of vertraging. | |
target | Number | Als u de opdrachten Beweging kopiëren en Beweging plakken van Adobe Flash Professional gebruikt, wordt met het ontwerpgereedschap XML gegenereerd waarin geen target-kenmerk is opgenomen voor het element SimpleEase, omdat in Flash Professional op alle versnellingseigenschappen dezelfde waarde wordt toegepast. Via de ActionScript 3.0-klassen kunt u echter verschillende waarden SimpleEase op specifieke eigenschappen toepassen. De mogelijke waarden voor target zijn dezelfde als voor CustomEase: "position", "scale", "rotation", "color", "filters", "x", "y", "scaleX", "scaleY", "skewX" en "skewY". | |
CustomEase | Definieert een aangepaste versnellingscurve die bestaat uit cubische Bézier-curven. Deze kan op alle eigenschappen tegelijk worden toegepast, maar u kunt ook verschillende curven voor verschillende eigenschappen definiëren. Zie de klasse CustomEase voor meer informatie over de curven voor aangepaste-versnellingseigenschappen. | ||
target | Number | De eigenschap waaraan een aangepaste waarde wordt toegewezen. Als u de opdrachten Beweging kopiëren en Beweging plakken van Adobe Flash Professional gebruikt, worden met het ontwerpgereedschap de volgende mogelijke waarden gegenereerd voor target: "position", "scale", "rotation", "color", "filters". De bewegingsklassen van ActionScript 3.0 bieden nog meer flexibiliteit aangezien u afzonderlijke curven kunt definiëren voor: "x", "y", "scaleX", "scaleY", "skewX" en "skewY". Als het kenmerk "target" in de XML wordt weggelaten, worden alle versnellingseigenschappen tegelijk opgegeven. Opmerking: in de XML worden het eerste en laatste punt van de aangepaste versnellingscurve weggelaten. Het eerste punt moet altijd (0, 0) zijn (de startwaarde van de getweende eigenschap) en het laatste punt moet (1, 1) zijn (de eindwaarde van de getweende eigenschap). Om efficiënte code te bereiken en mogelijke fouten te vermijden, worden deze waarden in de XML weggelaten en impliciet aangenomen. | |
BezierControl | Een punt ten opzichte van een curve dat wordt gebruikt om de curve te definiëren. | ||
x | Number | De x-coördinaat van het punt voor de definitie van een curve. | |
y | Number | De y-coördinaat van het punt voor de definitie van een curve. | |
BezierNode | Een punt op een curve dat wordt gebruikt om de curve te definiëren. | ||
x | Number | De x-coördinaat van het punt op een curve. | |
y | Number | De y-coördinaat van het punt op een curve. | |
filters | Definieert een object uit het pakket flash.filters voor gebruik als element (bijvoorbeeld: filters:GlowFilter). U kunt kenmerken toevoegen die corresponderen met de eigenschappen van het opgegeven object flash.filters. Bijvoorbeeld: <filters:DropShadowFilter quality="1" inner="false" knockout="false" hideObject="false" distance="0" angle="45" color="0x000000" alpha="1" blurX="0" blurY="0" strength="0" />. Zie het pakket flash.filters . |
In het volgende voorbeeld wordt ActionScript met inline XML getoond. Hiermee wordt de bewegings-tween beschreven van een filmclip-instantie moveShape voor het symbool myShape. Dit wordt in de loop van tien frames geroteerd, verplaatst, er wordt een aangepaste-versnellingsinstelling voor gebruikt en de alfawaarden worden aangepast:
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();
Wed Jun 13 2018, 11:59 AM Z