Du kan beskriva en rörelseinterpolering med hjälp av XML och ActionScript-klasserna i fl.motion-paketet. Adobe Flash innehåller kommandot Kopiera rörelse som ActionScript som genererar XML och ActionScript baserat på en rörelseinterpolering på tidslinjen för användning med andra symboler eller i andra projekt. Du kan också skripta en egen rörelseinterpolering. Så länge fl.motion-klasserna finns i klassökvägen vid kompileringen tillämpas rörelseinterpoleringen på det angivna visningsobjektet. Mer information om motion-klasserna finns i paketet fl.motion. Elementen i XML som stöds motsvarar klasserna och egenskaperna i Språkreferens för ActionScript 3.0.
© 2015 Adobe Systems Incorporated. All rights reserved.
Tue Jun 12 2018, 01:57 PM Z
XML-elementets hierarki ser ut som följer:
<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>
I följande tabell visas en sammanfattning av de XML-element och attribut som kan kopplas till ett motion-objekt. Mer information om varje post finns i egenskaperna för de klasser som motsvarar varje element:
Element | Attribut | Typ | Beskrivning |
---|---|---|---|
Motion | Definierar Motion-instansen så att Flash kan koppla egenskaper som karakteriserar rörelseinterpoleringen. Se klassen fl.motion.Motion. | ||
duration | Number | Antal bildrutor för den markerade rörelseinterpoleringen. Se egenskapen fl.motion.MotionBase.duration. | |
source | Innehåller egenskaperna för det ursprungliga visuella objektet som är kopplat till rörelsen. Se fl.motion.Source-klassen. | ||
Source | frameRate | Number | Inställningen för antalet bildrutor per sekund (fps) för den SWF-fil som innehåller originalanimeringen som kopierats från Flash Professional. Det här värdet påverkar inte ActionScript-implementeringen i en annan SWF-fil. Se fl.motion.Source.frameRate-egenskapen. |
x | Number | X-koordinaten för symbolinstansens omformningspunkt i början av den ursprungliga rörelseinterpoleringen som kopierats från Flash Professional. | |
y | Number | Y-koordinaten för symbolinstansens omformningspunkt i början av den ursprungliga rörelseinterpoleringen som kopierats från Flash Professional. | |
scaleX | Number | Procentvärdet för horisontal skalning som ett decimalvärde. Värdet är ofta mellan 0 och 1 men kan vara större än 1 eller mindre än 0. Du kan t.ex. ställa in scaleX på -1 om du vill vända objektet eller på 3 om du vill förstora det tre gånger. | |
skewX | Number | Vinkeln (i grader) på skevningen längs den vågräta axeln. Om värdena skewX och skewY är likvärdiga, ersätts de av rotationsattributet. | |
skewY | Number | Vinkeln (i grader) på skevningen längs den lodräta axeln. Om värdena skewX och skewY är likvärdiga ersätts de av rotationsattributet. | |
rotation | Number | Den inledande bildrutans rotationsgrad. | |
elementType | String | Typ av visuellt objekt som används i rörelseinterpoleringen. Möjliga värden är: "movie clip", "button", "graphic", "rectangle object", "oval object", "drawing object", "group", "bitmap", "compiled clip", "video" eller "text". | |
symbolName | String | Namnet på symbolen i Adobe Flash Professionals dokumentbibliotek, om det finns (eftersom det ursprungliga visuella objektet kanske inte är en symbolinstans). | |
dimensions | Innehåller taggar med namnutrymmet geom för att beskriva begränsningsramen och omformningspunkten för den interpolerade symbolen. | ||
geom:Rectangle | Ett objekt från paketet flash.geom. | Du kan lägga till attribut som motsvarar egenskaperna i objektet flash.geom.Rectangle. Till exempel: <geom:Rectangle left="7" top="9" width="151.95" height="151.95" />Värdena top och left är relativa till det överordnade objektets registreringspunkt (top och left definieras i det överordnade objektets koordinatsystem. | |
geom:Point | Ett objekt från paketet flash.geom. | Omformningspunktens koordinater definieras i procent av begränsningsramens dimensioner (geom:Rectangle-elementets värden). Om omformningspunkten är placerad i begränsningsramens övre vänstra hörn är koordinaterna (0,0). Om omformningspunkten är placerad i begränsningsramens nedre vänstra hörn är koordinaterna (1, 1). Med dessa värden kan omformningspunkten användas konsekvent på objekt med olika proportioner och registreringspunkter. Omformningspunkten kan vara placerad utanför begränsningsramen, och koordinaterna kan då vara mindre än 0 eller större än 1. | |
Keyframe | Innehåller information om en nyckelbildruta på tidslinjen. | ||
blank | Boolean | Indikerar att nyckelbildrutan är tom. | |
index | Number | Ett unikt heltalsvärde för nyckelbildrutan. Det första nyckelbildruteindexvärdet är alltid 0. Nyckelbildrutor i XML måste anges i indexvärdets fallande ordning. | |
label | String | En valfri sträng som beskriver nyckelbildrutan och motsvarar en bildruteetikett på tidslinjen. | |
tweenSync | Boolean | Aktiverar ("true") och inaktiverar ("false") synkroniseringsinställningen. Synkroniseringen räknar om antalet bildrutor i en interpolering så att de matchar antalet tilldelade bildrutor i tidslinjen. Detta attribut påverkar inte ActionScript-animeringen, eftersom ActionScript inte kan styra grafiska symboler. XML-attributet används endast av kommandona Kopiera rörelse och Klistra in rörelse i Adobe Flash Professional. Standardvärdet är true om det utelämnas från XML. | |
tweenSnap | Boolean | Aktiverar ("true") och inaktiverar ("false") fästinställningen. Med Fäst kopplas en symbol till rörelsebanan genom registreringspunkten. Detta attribut påverkar inte ActionScript-animeringen, eftersom ActionScript inte kan styra grafiska symboler. XML-attributet används endast av kommandona Kopiera rörelse och Klistra in rörelse i Adobe Flash Professional. Standardvärdet är true om det utelämnas från XML. | |
x | Number | X-koordinaten för symbolinstansens mittpunkt vid den aktuella nyckelbildrutan. | |
y | Number | Y-koordinaten för symbolinstansens mittpunkt vid den aktuella nyckelbildrutan. | |
scaleX | Number | Procentvärdet för den vågräta skalan som ett decimalvärde mellan 0 och 1. Värdet är ofta mellan 0 och 1 men kan vara större än 1 och mindre än 0. Du kan exempelvis ställa in scaleX på -1 för att vända objektet, eller på 3 för att göra det tre gånger så stort som ursprungsstorleken. | |
scaleY | Number | Procentvärdet för den lodräta skalan angett som ett decimalvärde mellan 0 och 1. Värdet är ofta mellan 0 och 1 men kan vara större än 1 och mindre än 0. Du kan exempelvis ställa in scaleY på -1 för att vända objektet, eller på 3 för att göra det tre gånger så stort som ursprungsstorleken. | |
skewX | Number | Vinkeln (i grader) på skevningen längs den vågräta axeln. Om värdena skewX och skewY är likvärdiga, ersätts de av rotationsattributet. | |
skewY | Number | Vinkeln (i grader) på skevningen längs den lodräta axeln. Om värdena skewX och skewY är likvärdiga ersätts de av rotationsattributet. | |
rotation | Number | Den aktuella bildrutans rotationsgrad. | |
rotateDirection | String | Anger hur det interpolerade elementet roteras. Möjliga värden är "auto", "none", "cw", "ccw". Standardvärdet är "auto" om det utelämnas från XML. | |
rotateTimes | Number | Anger antalet gånger som det interpolerade elementet roterar mellan startnyckelbildrutan och nästa nyckelbildruta utöver den normala rotationen. I Adobe Flash Professional måste värdet vara ett heltal som är större än eller lika med 0, men motion-klasserna tillåter decimalvärden. | |
tweenScale | Boolean | Om false, hindras skalan från att ändras under en interpolering. Standardvärdet är true om det utelämnas från XML. | |
cacheAsBitmap | Boolean | Standardvärdet är false om det utelämnas från XML. | |
blendMode | String | Godkända värden är "normal", "layer", "multiply", "screen", "overlay", "hardlight", "lighten", "darken", "difference", "add", "subtract", "invert", "alpha" och "erase". Standardvärdet är "normal" om det utelämnas från XML. | |
orientToPath | Boolean | Standardvärdet är false om det utelämnas från XML. | |
Color | Innehåller inställningar för färgvariationer. Symbolinstanser i Flash har fem färglägen: none, alpha, tint, brightness och advanced. Vid ingen omformning (none) är taggen Color tom, vilket är det normala utseendet. Ställ in attributen alphaMultiplier och alphaOffset för alfaomformningar. Ställ in attributen tintColor och tintMultiplier för tonomformningar.Använd attributet brightness för intensitetsomformningar.Använd attributen redMultiplier, greenMultiplier, blueMultiplier, alphaMultiplier, redOffset, greenOffset, blueOffset och alphaOffset för avancerade omformningar. | ||
brightness | Number | Procentvärdet som ska användas för intensitetskanalen är mellan -1 och 1, där -1 är helt svart och 1 helt vitt. | |
tintColor | Hexadecimal | Ett hexadecimalt färgvärde för den färg som ska användas. | |
alphaMultiplier | Number | Procentandel av alfakanalen, angett som ett decimalvärde mellan 0 och 1. | |
redMultiplier | Number | Procentandel av färgen, angett som decimalvärde mellan 0 och 1. | |
greenMultiplier | Number | Procentandel av färgen, angett som decimalvärde mellan 0 och 1. | |
blueMultiplier | Number | Procentandel av färgen, angett som decimalvärde mellan 0 och 1. | |
alphaMultiplier | Number | Ett decimalvärde mellan 0 och 1 som motsvarar en procentandel av alfagenomskinlighetskanalen. | |
tintMultiplier | Number | Ett decimalvärde mellan 0 och 1 som motsvarar en procentandel som ska användas med tintColor-värdet. | |
redOffset | Number | Ett värde mellan -255 och 255 som läggs till i det röda kanalvärdet efter att det har multiplicerats med värdet redMultiplier. | |
greenOffset | Number | Ett värde mellan -255 och 255 som läggs till i det gröna kanalvärdet efter att det har multiplicerats med värdet greenMultiplier. | |
blueOffset | Number | Ett värde mellan -255 och 255 som läggs till i det blå kanalvärdet efter att det har multiplicerats med värdet blueMultiplier. | |
alphaOffset | Number | Ett värde mellan -255 och 255 som läggs till i alfakanalens värde efter att det har multiplicerats med värdet alphaMultiplier. | |
tweens | Innehåller inställningar för övergångsvariationer. | ||
SimpleEase | Definierar en övergångsinställning med ett enda värde genom rörelseövergången för alla övergångsegenskaper. | ||
ease | Number | Övergångsvärdet som ska användas på alla egenskaper i rörelseövergången. Övergångsattributet är ett procentvärde mellan -1 (100 % övergång till eller hastighetsökning) och 1 (100 % övergång från eller hastighetsminskning). Standardvärdet är 0, vilket betyder att interpoleringen animeras med konstant hastighet, utan hastighetsökning eller hastighetsminskning. | |
target | Number | Med kommandona Kopiera rörelse och Klistra in rörelse i Adobe Flash Professional genererar utvecklingsverktyget XML som inte innehåller något target-attribut för SimpleEase-elementet eftersom Flash Professional använder samma värde för alla övergångsegenskaper. Med ActionScript 3.0-klasserna kan du dock använda olika SimpleEase-värden på enskilda egenskaper på samma gång. Möjliga värden för target är desamma som för CustomEase: "position", "scale", "rotation", "color", "filters", "x", "y", "scaleX", "scaleY", "skewX" och "skewY". | |
CustomEase | Definierar en anpassad övergångskurva som består av kubiska Bezierkurvor. Den kan tillämpas på alla egenskaper på en gång, eller också kan du definiera olika kurvor för olika egenskaper. Mer information om kurvor som motsvarar anpassade övergångskurvor finns i klassen CustomEase. | ||
target | Number | Egenskapen som är kopplad till ett anpassat värde. När kommandona Kopiera rörelse och Klistra in rörelse används i Adobe Flash Professional genererar utvecklingsverktyget följande möjliga värden för target: "position", "scale", "rotation", "color", "filters". Motion-klasserna i ActionScript 3.0 ger ännu större flexibilitet och du kan definiera enskilda kurvor för: "x", "y", "scaleX", "scaleY", "skewX" och "skewY". Om attributet "target" utelämnas från XML anges alla övergångsegenskaper gemensamt som mål. Obs! XML utelämnar den första och sista punkten på den anpassade övergångskurvan. Den första punkten måste alltid vara (0,0) (startvärdet för den interpolerade egenskapen) och den sista (1, 1) (slutvärdet för den interpolerade egenskapen). För att koden ska göra verkan och för att undvika eventuella fel utelämnas dessa värden från XML och antas vara implicita. | |
BezierControl | En punkt relativ en kurva som används för att definiera kurvan. | ||
x | Number | Punktens x-koordinat för att definiera en kurva. | |
y | Number | Punktens y-koordinat för att definiera en kurva. | |
BezierNode | En punkt på en kurva som används för att definiera kurvan. | ||
x | Number | X-koordinaten för en punkt på en kurva. | |
y | Number | Y-koordinaten för en punkt på en kurva. | |
filters | Definierar ett objekt från flash.filters-paketet som ska användas som element (till exempel filters:GlowFilter). Du kan lägga till attribut som motsvarar egenskaperna för det angivna flash.filters-objektet. Till exempel: <filters:DropShadowFilter quality="1" inner="false" knockout="false" hideObject="false" distance="0" angle="45" color="0x000000" alpha="1" blurX="0" blurY="0" strength="0" />. Se paketet flash.filters. |
I följande exempel visas ActionScript med textbunden XML som beskriver rörelseinterpoleringen hos en moveShape-filmklippsinstans för symbolen myShape medan den roterar, rör sig, använder en anpassad övergångsinställning och ändrar alfavärdena över tio bildrutor:
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, 01:57 PM Z