Äëÿ îïèñàíèÿ àíèìàöèè äâèæåíèÿ ìîæíî èñïîëüçîâàòü êëàññû XML è ActionScript èç ïàêåòà fl.motion.  Flash CS4 åñòü êîìàíäà "Êîïèðîâàòü äâèæåíèå êàê êîä ActionScript" è "Êîïèðîâàòü äâèæåíèå êàê êîä XML", êîòîðûå ñîçäàþò êîä ActionScript è XML íà îñíîâå àíèìàöèè äâèæåíèÿ íà øêàëå âðåìåíè äëÿ äàëüíåéøåãî èñïîëüçîâàíèÿ â äðóãèõ ïðîåêòàõ èëè íà äðóãèõ ñèìâîëàõ. Ìîæíî òàêæå çàäàòü ñîáñòâåííóþ àíèìàöèþ äâèæåíèÿ. Åñëè âî âðåìÿ êîìïèëÿöèè â ïîäêàòàëîãå êëàññà íàõîäÿòñÿ êëàññû fl.motion, òî ê óêàçàííîìó îòîáðàæàåìîìó îáúåêòó áóäåò ïðèìåíåíà àíèìàöèÿ äâèæåíèÿ. Äîïîëíèòåëüíûå ñâåäåíèÿ ïî êëàññàì àíèìàöèè ñì. â ïàêåòå fl.motion. Ýëåìåíòû ïî ïîääåðæêå XML ñîîòâåòñòâóþò êëàññàì è ñâîéñòâàì, îïèñàííûì â ðóêîâîäñòâå "Ñïðàâî÷íèê ïî ÿçûêó ActionScript 3.0".

Ñì. ïðèìåðû.

Èåðàðõèÿ ýëåìåíòîâ XML âûãëÿäèò ñëåäóþùèì îáðàçîì:

<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>

 ñëåäóþùåé òàáëèöå ïðèâîäèòñÿ êðàòêàÿ ñâîäêà ïî ýëåìåíòàì è àòðèáóòàì XML, êîòîðûå ìîãóò áûòü ïðèñâîåíû îáúåêòó àíèìàöèè. Äîïîëíèòåëüíûå ñâåäåíèÿ ïî êàæäîìó ýëåìåíòó ñì. ñâîéñòâà, ïåðå÷èñëåííûå â êëàññàõ, ñîîòâåòñòâóþùèõ êàæäîìó îòäåëüíîìó ýëåìåíòó.

Ýëåìåíò Àòðèáóò Òèï Îïèñàíèå
Motion     Îïðåäåëÿåò ýêçåìïëÿð Motion òàêèì îáðàçîì, ÷òîáû Flash ñìîã ïðèñâîèòü ñâîéñòâà, õàðàêòåðèçóþùèå àíèìàöèþ äâèæåíèÿ. Ñì. êëàññ fl.motion.Motion.
  duration Number ×èñëî êàäðîâ â âûáðàííîé àíèìàöèè äâèæåíèÿ. Ñì. ñâîéñòâî fl.motion.MotionBase.duration.
source     Ýëåìåíòó Source òðåáóåòñÿ òåã parent. Äàííûé òåã íå èìååò àòðèáóòîâ, îäíàêî îí íåîáõîäèì äëÿ îáðàáîòêè ýëåìåíòà Source è åãî àòðèáóòîâ.
Source     Ñîäåðæèò äàííûå ñâîéñòâà èñõîäíîãî âèçóàëüíîãî îáúåêòà, ñâÿçàííîãî ñ äâèæåíèåì. Ñì. êëàññ fl.motion.Source.
  frameRate Number Ïàðàìåòð ÷àñòîòû êàäðîâ â ñåêóíäó (fps) äëÿ SWF-ôàéëà, â êîòîðîì ñîäåðæèòñÿ èñõîäíàÿ àíèìàöèÿ, ñêîïèðîâàííàÿ èç Flash CS4. Ýòî çíà÷åíèå íå îêàçûâàåò âëèÿíèå íà ðåàëèçàöèþ ActionScript â äðóãîì SWF-ôàéëå. Ñì. ñâîéñòâî fl.motion.Source.frameRate.
  x Number Êîîðäèíàòà x òî÷êè ïðåîáðàçîâàíèÿ ýêçåìïëÿðà ñèìâîëà â íà÷àëå èñõîäíîé àíèìàöèè äâèæåíèÿ, ñêîïèðîâàííîé èç Flash CS4.
  y Number Êîîðäèíàòà y òî÷êè ïðåîáðàçîâàíèÿ ýêçåìïëÿðà ñèìâîëà â íà÷àëå èñõîäíîé àíèìàöèè äâèæåíèÿ, ñêîïèðîâàííîé èç Flash CS4.
  scaleX Number Ïðîöåíòíîå çíà÷åíèå ãîðèçîíòàëüíîãî ìàñøòàáà â âèäå äåñÿòè÷íîãî çíà÷åíèÿ. Ýòî çíà÷åíèå îáû÷íî íàõîäèòñÿ â äèàïàçîíå îò 0 äî 1, íî ìîæåò è âûõîäèòü çà ïðåäåëû ýòîãî äèàïàçîíà. Íàïðèìåð, scaleX ìîæåò ðàâíÿòüñÿ -1 (çåðêàëüíîå îòðàæåíèå îáúåêòà) èëè 3 (òðîåêðàòíîå óâåëè÷åíèå èñõîäíîãî ðàçìåðà îáúåêòà).
  scaleY Number Ïðîöåíòíîå çíà÷åíèå âåðòèêàëüíîãî ìàñøòàáà â âèäå äåñÿòè÷íîãî çíà÷åíèÿ. Ýòî çíà÷åíèå îáû÷íî íàõîäèòñÿ â äèàïàçîíå îò 0 äî 1, íî ìîæåò è âûõîäèòü çà ïðåäåëû ýòîãî äèàïàçîíà. Íàïðèìåð, scaleY ìîæåò ðàâíÿòüñÿ -1 (çåðêàëüíîå îòðàæåíèå îáúåêòà) èëè 3 (òðîåêðàòíîå óâåëè÷åíèå èñõîäíîãî ðàçìåðà îáúåêòà).
  skewX Number Óãîë (â ãðàäóñàõ) ñðåçà âäîëü ãîðèçîíòàëüíîé îñè. Åñëè çíà÷åíèÿ skewX è skewY ðàâíû, îíè çàìåíÿòñÿ àòðèáóòîì rotation.
  skewY Number Óãîë (â ãðàäóñàõ) ñðåçà âäîëü âåðòèêàëüíîé îñè. Åñëè çíà÷åíèÿ skewX è skewY ðàâíû, îíè çàìåíÿòñÿ àòðèáóòîì rotation.
  rotation Number Óãîë ïîâîðîòà èñõîäíîãî êàäðà.
  elementType String Òèï âèçóàëüíîãî îáúåêòà, èñïîëüçóåìîãî ïðè àíèìàöèè äâèæåíèÿ. Âîçìîæíûå çíà÷åíèÿ: "movie clip", "button", "graphic", "rectangle object", "oval object", "drawing object", "group", "bitmap", "compiled clip", "video" èëè "text".
  symbolName String Íàçâàíèå ñèìâîëà â áèáëèîòåêå äîêóìåíòîâ Adobe Flash CS4, åñëè òàêîâîé ñóùåñòâóåò (òàê êàê èñõîäíûé âèçóàëüíûé îáúåêò ìîæåò è íå áûòü ýêçåìïëÿðîì ñèìâîëà).
dimensions     Ñîäåðæèò òåãè, èñïîëüçóþùèå ïðîñòðàíñòâî èìåí geom, äëÿ îïèñàíèÿ îãðàíè÷èòåëüíîé ðàìêè è òî÷êè ïðåîáðàçîâàíèÿ äëÿ àíèìèðóåìîãî ñèìâîëà.
geom:Rectangle   Îáúåêò èç ïàêåòà flash.geom. Ìîæíî äîáàâëÿòü àòðèáóòû, ñîîòâåòñòâóþùèå ñâîéñòâàì îáúåêòà flash.geom.Rectangle. Íàïðèìåð,

<geom:Rectangle left="7" top="9" width="151.95" height="151.95" />

Çíà÷åíèÿ top è left ÿâëÿþòñÿ îòíîñèòåëüíûìè ïî îòíîøåíèþ ê òî÷êå ðåãèñòðàöèè ðîäèòåëüñêîãî îáúåêòà (top è left îïðåäåëÿþòñÿ â ïðîñòðàíñòâå êîîðäèíàò ðîäèòåëüñêîãî îáúåêòà).

geom:Point   Îáúåêò èç ïàêåòà flash.geom. Êîîðäèíàòû òî÷êè ïðåîáðàçîâàíèÿ îïðåäåëÿþòñÿ â âèäå ïðîöåíòà îò ðàçìåðîâ îãðàíè÷èòåëüíîé ðàìêè (çíà÷åíèÿ ýëåìåíòà geom:Rectangle). Ïðè íàõîæäåíèè òî÷êè ïðåîáðàçîâàíèÿ â âåðõíåì ëåâîì óãëó îãðàíè÷èòåëüíîé ðàìêè åå êîîðäèíàòàìè ÿâëÿåòñÿ (0, 0). Ïðè íàõîæäåíèè òî÷êè ïðåîáðàçîâàíèÿ â ïðàâîì íèæíåì óãëó îãðàíè÷èòåëüíîé ðàìêè åå êîîðäèíàòàìè ÿâëÿåòñÿ (1, 1). Ýòè çíà÷åíèÿ ïîçâîëÿþò ïðèìåíÿòü òî÷êó ïðåîáðàçîâàíèÿ åäèíûì îáðàçîì ê îáúåêòàì ñ ðàçëè÷íûìè ïðîïîðöèÿìè è òî÷êàìè ðåãèñòðàöèè. Òî÷êà ïðåîáðàçîâàíèÿ ìîæåò íàõîäèòüñÿ è çà ïðåäåëàìè îãðàíè÷èòåëüíîé ðàìêè, â ýòîì ñëó÷àå êîîðäèíàòû ìîãóò áûòü ìåíüøå 0 èëè áîëüøå 1.
Keyframe     Ñîäåðæèò ñâåäåíèÿ î êëþ÷åâîì êàäðå íà âðåìåííîé øêàëå.
  blank Boolean Óêàçûâàåò íà òî, ÷òî êëþ÷åâîé êàäð ïóñò.
  index Number Óíèêàëüíîå öåëîå ÷èñëî äëÿ êëþ÷åâîãî êàäðà. Ïåðâûé êëþ÷åâîé êàäð âñåãäà èìååò èíäåêñ, ðàâíûé 0.  XML êëþ÷åâûå êàäðû äîëæíû áûòü óêàçàíû â ïîðÿäêå âîçðàñòàíèÿ çíà÷åíèÿ èíäåêñà.
  label String Äîïîëíèòåëüíàÿ ñòðîêà, îïèñûâàþùàÿ êëþ÷åâîé êàäð è ñîîòâåòñòâóþùàÿ ìåòêå êàäðà íà âðåìåííîé øêàëå.
  tweenSync Boolean Ïåðåêëþ÷àåò çíà÷åíèå ñèíõðîíèçàöèè: "true" - âêëþ÷åíî èëè "false" - âûêëþ÷åíî. Sync çàíîâî âû÷èñëÿåò ÷èñëî êàäðîâ â àíèìàöèè, ÷òîáû ÷èñëî ñîîòâåòñòâîâàëî ÷èñëó êàäðîâ, âûäåëåííûõ íà âðåìåííîé øêàëå. Äåéñòâèå ýòîãî àòðèáóòà íå ðàñïðîñòðàíÿåòñÿ íà àíèìàöèþ ActionScript, òàê êàê ActionScript íå ìîæåò êîíòðîëèðîâàòü ãðàôè÷åñêèå ñèìâîëû. Àòðèáóò XML èñïîëüçóåòñÿ òîëüêî êîìàíäàìè Adobe Flash CS4 "Êîïèðîâàòü äâèæåíèå" è "Âñòàâèòü äâèæåíèå". Åñëè îòñóòñòâóåò â XML, òî ïðèîáðåòàåò çíà÷åíèå ïî óìîë÷àíèþ true.
  tweenSnap Boolean Ïåðåêëþ÷àåò çíà÷åíèå "Ïðèâÿçêà": "true" - âêëþ÷åíî èëè "false" - âûêëþ÷åíî. Ïðèâÿçêà îñóùåñòâëÿåò ïðèâÿçêó ê êîíòóðó äâèæåíèÿ ñèìâîëà ïî òî÷êå åãî ðåãèñòðàöèè. Äåéñòâèå ýòîãî àòðèáóòà íå ðàñïðîñòðàíÿåòñÿ íà àíèìàöèþ ActionScript, òàê êàê ActionScript íå ìîæåò êîíòðîëèðîâàòü ãðàôè÷åñêèå ñèìâîëû. Àòðèáóò XML èñïîëüçóåòñÿ òîëüêî êîìàíäàìè Adobe Flash CS4 "Êîïèðîâàòü äâèæåíèå" è "Âñòàâèòü äâèæåíèå". Åñëè îòñóòñòâóåò â XML, òî ïðèîáðåòàåò çíà÷åíèå ïî óìîë÷àíèþ true.
  x Number Êîîðäèíàòà x öåíòðàëüíîé òî÷êè ýêçåìïëÿðà ñèìâîëà â íà÷àëå òåêóùåãî êëþ÷åâîãî êàäðà.
  y Number Êîîðäèíàòà y öåíòðàëüíîé òî÷êè ýêçåìïëÿðà ñèìâîëà â íà÷àëå òåêóùåãî êëþ÷åâîãî êàäðà.
  scaleX Number Ïðîöåíòíîå çíà÷åíèå ãîðèçîíòàëüíîãî ìàñøòàáà â âèäå äåñÿòè÷íîãî çíà÷åíèÿ îò 0 äî 1. Ýòî çíà÷åíèå îáû÷íî íàõîäèòñÿ â äèàïàçîíå îò 0 äî 1, íî ìîæåò è âûõîäèòü çà ïðåäåëû ýòîãî äèàïàçîíà. Íàïðèìåð, scaleX ìîæåò ðàâíÿòüñÿ -1 (çåðêàëüíîå îòðàæåíèå îáúåêòà) èëè 3 (òðîåêðàòíîå óâåëè÷åíèå èñõîäíîãî ðàçìåðà îáúåêòà).
  scaleY Number Ïðîöåíòíîå çíà÷åíèå âåðòèêàëüíîãî ìàñøòàáà â âèäå äåñÿòè÷íîãî çíà÷åíèÿ îò 0 äî 1. Ýòî çíà÷åíèå îáû÷íî íàõîäèòñÿ â äèàïàçîíå îò 0 äî 1, íî ìîæåò è âûõîäèòü çà ïðåäåëû ýòîãî äèàïàçîíà. Íàïðèìåð, scaleY ìîæåò ðàâíÿòüñÿ -1 (çåðêàëüíîå îòðàæåíèå îáúåêòà) èëè 3 (òðîåêðàòíîå óâåëè÷åíèå èñõîäíîãî ðàçìåðà îáúåêòà).
  skewX Number Óãîë (â ãðàäóñàõ) ñðåçà âäîëü ãîðèçîíòàëüíîé îñè. Åñëè çíà÷åíèÿ skewX è skewY ðàâíû, îíè çàìåíÿòñÿ àòðèáóòîì rotation.
  skewY Number Óãîë (â ãðàäóñàõ) ñðåçà âäîëü âåðòèêàëüíîé îñè. Åñëè çíà÷åíèÿ skewX è skewY ðàâíû, îíè çàìåíÿòñÿ àòðèáóòîì rotation.
  rotation Number Óãîë ïîâîðîòà òåêóùåãî êàäðà.
  rotateDirection String Óêàçûâàåò íà ñïîñîá âðàùåíèÿ àíèìèðîâàííîãî îáúåêòà. Âîçìîæíûå çíà÷åíèÿ: "auto", "none", "cw", "ccw". Åñëè îòñóòñòâóåò â XML, òî ïðèîáðåòàåò çíà÷åíèå ïî óìîë÷àíèþ "auto".
  rotateTimes Number Óêàçûâàåò íà êîëè÷åñòâî âðàùåíèé àíèìèðîâàííîãî îáúåêòà ìåæäó íà÷àëüíûì è ïîñëåäóþùèì êëþ÷åâûì êàäðîì â äîïîëíåíèå ê îáû÷íîìó âðàùåíèþ.  Adobe Flash CS4 òðåáóåòñÿ, ÷òîáû ýòî çíà÷åíèå áûëî öåëûì è áîëüøå èëè ðàâíîå 0. Îäíàêî êëàññû äâèæåíèÿ äîïóñêàþò äåñÿòè÷íûå çíà÷åíèÿ.
  tweenScale Boolean Åñëè çíà÷åíèå ðàâíî false, òî ìàñøòàá âî âðåìÿ àíèìàöèè íå ìåíÿåòñÿ. Åñëè îòñóòñòâóåò â XML, òî ïðèîáðåòàåò çíà÷åíèå ïî óìîë÷àíèþ true.
  cacheAsBitmap Boolean Åñëè îòñóòñòâóåò â XML, òî ïðèîáðåòàåò çíà÷åíèå ïî óìîë÷àíèþ false.
  blendMode String Âîçìîæíûå çíà÷åíèÿ: "normal", "layer", "multiply", "screen", "overlay", "hardlight", "lighten", "darken", "difference", "add", "subtract", "invert", "alpha" è "erase". Åñëè îòñóòñòâóåò â XML, òî ïðèîáðåòàåò çíà÷åíèå ïî óìîë÷àíèþ "normal".
  orientToPath Boolean Åñëè îòñóòñòâóåò â XML, òî ïðèîáðåòàåò çíà÷åíèå ïî óìîë÷àíèþ false.
Color     Ñîäåðæèò íàñòðîéêè äëÿ öâåòîâûõ èçìåíåíèé. Ýêçåìïëÿðû ñèìâîëîâ Flash ïîääåðæèâàþò ïÿòü ðåæèìîâ öâåòà: none, alpha, tint, brightness è advanced.

Òàì, ãäå ïðåîáðàçîâàíèå îòñóòñòâóåò (none), òåã Color îñòàåòñÿ ïóñòûì, óêàçûâàÿ íà îáû÷íîå ïîâåäåíèå.

Äëÿ ïðåîáðàçîâàíèé alpha ñëåäóåò íàñòðîèòü àòðèáóòû alphaMultiplier è alphaOffset.

Äëÿ ïðåîáðàçîâàíèé tint ñëåäóåò íàñòðîèòü àòðèáóòû tintColor è tintMultiplier.

Äëÿ ïðåîáðàçîâàíèé brightness ñëåäóåò èñïîëüçîâàòü àòðèáóò brightness.

Äëÿ ïðåîáðàçîâàíèé advanced ñëåäóåò èñïîëüçîâàòü àòðèáóòû redMultiplier, greenMultiplier, blueMultiplier, alphaMultiplier, redOffset, greenOffset, blueOffset è alphaOffset.

  brightness Number Çíà÷åíèå â âèäå ïðîöåíòà äëÿ ïðèìåíåíèÿ êàíàëà ÿðêîñòè îò -1 äî 1, ãäå -1 - ïîëíîñòüþ ÷åðíûé öâåò, 1 - ïîëíîñòüþ áåëûé öâåò
  tintColor Øåñòíàäöàòèðè÷íûé Øåñòíàäöàòåðè÷íîå çíà÷åíèå ïðèìåíÿåìîãî öâåòà.
  alphaMultiplier Number Ïðîöåíòíîå çíà÷åíèå äëÿ ïðèìåíåíèÿ àëüôà-êàíàëà â âèäå äåñÿòè÷íîãî çíà÷åíèÿ îò 0 äî 1.
  redMultiplier Number Ïðîöåíòíîå çíà÷åíèå äëÿ ïðèìåíåíèÿ öâåòà â âèäå äåñÿòè÷íîãî çíà÷åíèÿ îò 0 äî 1.
  greenMultiplier Number Ïðîöåíòíîå çíà÷åíèå äëÿ ïðèìåíåíèÿ öâåòà â âèäå äåñÿòè÷íîãî çíà÷åíèÿ îò 0 äî 1.
  blueMultiplier Number Ïðîöåíòíîå çíà÷åíèå äëÿ ïðèìåíåíèÿ öâåòà â âèäå äåñÿòè÷íîãî çíà÷åíèÿ îò 0 äî 1.
  alphaMultiplier Number Äåñÿòè÷íîå çíà÷åíèå îò 0 äî 1, ïðåäñòàâëÿþùåå ñîáîé ïðîöåíòíîå çíà÷åíèå äëÿ ïðèìåíåíèÿ ïðîçðà÷íîñòè àëüôà-êàíàëà.
  tintMultiplier Number Äåñÿòè÷íîå çíà÷åíèå îò 0 äî 1, ïðåäñòàâëÿþùåå ñîáîé ïðîöåíòíîå çíà÷åíèå äëÿ ïðèìåíåíèÿ çíà÷åíèÿ tintColor.
  redOffset Number ×èñëî îò -255 äî 255, äîáàâëÿåìîå ê çíà÷åíèþ êðàñíîãî êàíàëà ïîñëå óìíîæåíèÿ íà çíà÷åíèå redMultiplier.
  greenOffset Number ×èñëî îò -255 äî 255, äîáàâëÿåìîå ê çíà÷åíèþ êðàñíîãî êàíàëà ïîñëå óìíîæåíèÿ íà çíà÷åíèå greenMultiplier.
  blueOffset Number ×èñëî îò -255 äî 255, äîáàâëÿåìîå ê çíà÷åíèþ êðàñíîãî êàíàëà ïîñëå óìíîæåíèÿ íà çíà÷åíèå blueMultiplier.
  alphaOffset Number ×èñëî îò -255 äî 255, äîáàâëÿåìîå ê çíà÷åíèþ àëüôà-êàíàëà ïîñëå óìíîæåíèÿ íà çíà÷åíèå alphaMultiplier.
tweens     Ñîäåðæèò íàñòðîéêè äëÿ âàðèàöèé çàìåäëåíèé.
SimpleEase     Îïðåäåëÿåò ïàðàìåòð çàìåäëåíèÿ. Äàííîå çíà÷åíèå äåéñòâóåò íà ïðîòÿæåíèè âñåé àíèìàöèè äâèæåíèÿ äëÿ âñåõ ñîîòâåòñòâóþùèõ ñâîéñòâ.
  ease Number Çíà÷åíèå çàìåäëåíèÿ, ïðèìåíÿåìîå êî âñåì ñâîéñòâàìè â àíèìàöèè äâèæåíèÿ. Àòðèáóò ease ïðåäñòàâëÿåò ñîáîé ïðîöåíòíîå çíà÷åíèå îò -1 (100% óñêîðåíèå) è 1 (100% çàìåäëåíèå). Ïðè çíà÷åíèè ïî óìîë÷àíèþ (0) ñêîðîñòü àíèìàöèè îñòàåòñÿ ïîñòîÿííîé (áåç óñêîðåíèÿ èëè çàìåäëåíèÿ).
  target Number Ïðè èñïîëüçîâàíèè êîìàíä Adobe Flash CS4 "Êîïèðîâàòü äâèæåíèå" èëè "Âñòàâèòü äâèæåíèå" ñðåäñòâî ðàçðàáîòêè ñîçäàåò XML, íå ñîäåðæàùèé àòðèáóò target äëÿ ýëåìåíòà SimpleEase, òàê êàê Flash CS4 èñïîëüçóåò îäíî è òî æå çíà÷åíèå âñåõ ñâîéñòâ çàìåäëåíèÿ. Îäíàêî êëàññû ActionScript 3.0 ïîçâîëÿþò îäíîâðåìåííî ïðèñâîèòü îòäåëüíûì ñâîéñòâàì ðàçëè÷íûå çíà÷åíèÿ SimpleEase. Âîçìîæíûå çíà÷åíèÿ target ñîâïàäàþò ñî çíà÷åíèÿìè CustomEase: "position", "scale", "rotation", "color", "filters", "x", "y", "scaleX", "scaleY", "skewX" è "skewY".
CustomEase     Îïðåäåëÿåò ïîëüçîâàòåëüñêóþ êðèâóþ çàìåäëåíèÿ, ñîñòîÿùóþ èç êóáè÷åñêèõ êðèâûõ Áåçüå. Åå ìîæíî ïðèìåíèòü êî âñåì ñâîéñòâàì ñðàçó ëèáî çàäàòü îòäåëüíûå êðèâûå äëÿ ðàçíûõ ñâîéñòâ.

Äîïîëíèòåëüíóþ èíôîðìàöèÿ î êðèâûõ, ïðåäñòàâëÿþùèõ ñâîéñòâà ïîëüçîâàòåëüñêîãî çàìåäëåíèÿ, â êëàññå CustomEase.

  target Number Ñâîéñòâî, êîòîðîìó ïðèñâàèâàåòñÿ ïîëüçîâàòåëüñêîå çíà÷åíèå. Ïðè èñïîëüçîâàíèè êîìàíä Adobe Flash CS4's "Êîïèðîâàòü äâèæåíèå" èëè "Âñòàâèòü äâèæåíèå" ñðåäñòâî ðàçðàáîòêè ñîçäàåò ýòè âîçìîæíûå çíà÷åíèÿ target: "position", "scale", "rotation", "color", "filters". Êëàññû äâèæåíèÿ ActionScript 3.0 äàëüøå ðàñøèðÿþò ýòîò íàáîð ïóòåì ïðåäîñòàâëåíèÿ âîçìîæíîñòè çàäàâàòü èíäèâèäóàëüíûå êðèâûå äëÿ "x", "y", "scaleX", "scaleY", "skewX" è "skewY". Åñëè â XML àòðèáóò target îòñóòñòâóåò, òî öåëüþ ñòàíîâÿòñÿ âñå ñâîéñòâà çàìåäëåíèÿ.

Ïðèìå÷àíèå. XML îïóñêàåò ïåðâóþ è ïîñëåäíþþ òî÷êó â ïîëüçîâàòåëüñêîé êðèâîé çàìåäëåíèÿ. Ïåðâàÿ òî÷êà âñåãäà äîëæíà íàõîäèòüñÿ â ïîëîæåíèè (0, 0) (íà÷àëüíîå çíà÷åíèå àíèìèðîâàííîãî ñâîéñòâà), à ïîñëåäíÿÿ â ïîëîæåíèè (1, 1) (êîíå÷íîå çíà÷åíèå àíèìèðîâàííîãî ñâîéñòâà).  öåëÿõ îïòèìèçàöèè êîäà è âî èçáåæàíèå ïîòåíöèàëüíûõ îøèáîê ýòè çíà÷åíèÿ îïóñêàþòñÿ â XML è ñ÷èòàþòñÿ èìïëèöèòíûìè.

BezierControl     Òî÷êà ïî îòíîøåíèþ ê êðèâîé, èñïîëüçóåìàÿ äëÿ åå îïðåäåëåíèÿ.
  x Number Êîîðäèíàòà x òî÷êè äëÿ îïðåäåëåíèÿ êðèâîé.
  y Number Êîîðäèíàòà y òî÷êè äëÿ îïðåäåëåíèÿ êðèâîé.
BezierNode     Òî÷êà íà êðèâîé, èñïîëüçóåìàÿ äëÿ åå îïðåäåëåíèÿ.
  x Number Êîîðäèíàòà x òî÷êè íà êðèâîé.
  y Number Êîîðäèíàòà y òî÷êè íà êðèâîé.
filters     Îïðåäåëÿåò îáúåêò èç ïàêåòà flash.filters äëÿ èñïîëüçîâàíèÿ â êà÷åñòâå ýëåìåíòà (íàïðèìåð, filters:GlowFilter). Ìîæíî äîáàâëÿòü àòðèáóòû, ñîîòâåòñòâóþùèå ñâîéñòâàì çàäàííîãî îáúåêòà flash.filters. Íàïðèìåð,

<filters:DropShadowFilter quality="1" inner="false" knockout="false" hideObject="false" distance="0" angle="45" color="0x000000" alpha="1" blurX="0" blurY="0" strength="0" />

Ñì. ïàêåò flash.filters.

 ïðèìåðå äàëåå ïîêàçàí ôðàãìåíò êîäà ActionScript ñ XML, îïèñûâàþùèì àíèìàöèþ äâèæåíèÿ ýêçåìïëÿðà ðîëèêà moveShape äëÿ ñèìâîëà myShape. Ïî ìåðå åãî âðàùåíèÿ è ïåðåäâèæåíèÿ èñïîëüçóåòñÿ ïàðàìåòð çàìåäëåíèÿ, à çíà÷åíèÿ àëüôà-êàíàëà ìåíÿþòñÿ ÷åðåç êàæäûå 10 êàäðîâ:

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();