ActionScript® 3.0 — dokumentacja dla platformy Adobe® Flash®
Strona główna  |  Ukryj listę pakietów i klas |  Pakiety  |  Klasy  |  Nowości  |  Indeks  |  Dodatki  |  Dlaczego język angielski?
Filtry: Pobieranie danych z serwera...
Pobieranie danych z serwera...
 

Elementy XML dotyczące ruchu 

Animację ruchu można opisać za pomocą kodu XML oraz klas języka ActionScript zawartych w pakiecie fl.motion package. Program Adobe Flash Professional udostępnia polecenie „Kopiuj ruch jako ActionScript”, które generuje kod XML i ActionScript na podstawie animacji ruchu zdefiniowanej na osi czasu. Tak zapisanej animacji można używać z innymi symbolami lub w innych projektach. Istnieje także możliwość pisania własnych skryptów animacji ruchu. O ile tylko klasy fl.motion będą dostępne w ścieżce klas w momencie kompilacji, animacja ruchu zostanie zastosowana do określonego obiektu wyświetlanego. Więcej informacji o klasach ruchu zawiera opis pakietu fl.motion. Elementy obsługującego kodu XML odpowiadają klasom i właściwościom opisanym w Skorowidzu języka ActionScript 3.0.

Hierarchia elementów kodu XML jest następująca:

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

W poniższej tabeli zamieszczono skrócone podsumowanie elementów i atrybutów XML, które można przypisywać do obiektu ruchu. Więcej informacji o poszczególnych pozycjach zawierają opisy właściwości klas odpowiadających poszczególnym elementom:

ElementAtrybutTypOpis
Motion  Definiuje instancję klasy Motion, umożliwiającą programowi Flash nadanie wartości właściwościom opisującym animację ruchu. Informacje zawiera opis klasy fl.motion.Motion.
 durationNumberLiczba klatek dla wybranej animacji ruchu. Informacje zawiera opis właściwości fl.motion.MotionBase.duration.
source  Zawiera właściwości oryginalnego obiektu wizualnego skojarzonego z ruchem. Informacje zawiera opis klasy fl.motion.Source.
SourceframeRateNumberLiczba klatek na sekundę określona dla pliku SWF zawierającego oryginalną animację skopiowaną z programu Flash Professional. Ta wartość nie ma żadnego wpływu na implementację kodu ActionScript w innym pliku SWF. Informacje zawiera opis właściwości fl.motion.Source.frameRate.
 xNumberWspółrzędna x punktu transformacji instancji symbolu na początku oryginalnej animacji ruchu skopiowanej z programu Flash Professional.
 yNumberWspółrzędna y punktu transformacji instancji symbolu na początku oryginalnej animacji ruchu skopiowanej z programu Flash Professional.
 scaleXNumberWyrażona procentowo skala pozioma, podana jako ułamek dziesiętny. Jest to często wartość z przedziału od 0 do 1, ale może być również większa od 1 lub mniejsza od 0. Można na przykład ustawić wartość scaleX na -1, aby przerzucić obiekt, lub na 3, aby powiększyć obiekt 3-krotnie w stosunku do oryginalnego rozmiaru.
 skewXNumberKąt (w stopniach) ścięcia wzdłuż osi poziomej. Jeśli wartości skewX i skewY są równe, zostaną zastąpione przez atrybut rotation.
 skewYNumberKąt (w stopniach) ścięcia wzdłuż osi pionowej. Jeśli wartości skewX i skewY są równe, zostaną zastąpione przez atrybut rotation.
 rotationNumberKąt obrotu (w stopniach) w pierwszej klatce.
 elementTypeStringTyp obiektu wizualnego użytego w animacji ruchu. Możliwe wartości to: movie clip", "button", "graphic", "rectangle object", "oval object", "drawing object", "group", "bitmap", "compiled clip", "video" i "text".
 symbolNameStringNazwa symbolu w bibliotece dokumentu programu Adobe Flash Professional, o ile istnieje (ponieważ oryginalny obiekt wizualny nie musi być instancją symbolu).
dimensions  Zawiera znaczniki należące do przestrzeni nazw geom i opisujące prostokąt otaczający oraz punkt transformacji animowanego symbolu.
geom:Rectangle  Obiekt z pakietu flash.geom.Możliwe jest dodawanie atrybutów odpowiadających właściwościom obiektu flash.geom.Rectangle. Na przykład: <geom:Rectangle left="7" top="9" width="151.95" height="151.95" />Wartości top i left są określane względem punktu rejestracji obiektu nadrzędnego (wartości top i left są zdefiniowane w układzie współrzędnych obiektu nadrzędnego).
geom:Point Obiekt z pakietu flash.geom.Współrzędne punktu transformacji są zdefiniowane jako odsetek wymiarów prostokąta otaczającego (wartości elementu geom:Rectangle). Jeśli punkt transformacji znajduje się w lewym górnym rogu prostokąta otaczającego, współrzędne są równe (0, 0). Jeśli punkt transformacji znajduje się w prawym dolnym rogu prostokąta otaczającego, współrzędne są równe (1, 1). Wartości te umożliwiają spójne stosowanie punktu transformacji do obiektów o różnych proporcjach, z różnie ulokowanymi punktami rejestracji. Punkt transformacji może znajdować się poza obwiednią, a w tym przypadku współrzędne mogą być mniejsze niż 0 i większe niż 1.
Keyframe  Zawiera informacje odpowiadające klatce kluczowej na osi czasu.
 blankBooleanInformuje, że klatka kluczowa jest pusta.
 indexNumberUnikatowa liczba całkowita identyfikująca klatkę kluczową. Indeks pierwszej klatki jest zawsze równy 0. Klatki kluczowe muszą być opisywane w kodzie XML w kolejności rosnących indeksów.
 labelStringOpcjonalny ciąg znaków, który opisuje klatkę kluczową odpowiadającą etykiecie klatki na osi czasu.
 tweenSyncBooleanWłącza ("true") i wyłącza ("false") ustawienie synchronizacji. Synchronizacja powoduje przeliczenie liczby klatek w animacji w taki sposób, aby zgadzała się z liczbą klatek przeznaczoną na animację na osi czasu. Ten atrybut nie ma wpływu na animację opisaną przez kod ActionScript, ponieważ język ActionScript nie umożliwia sterowania symbolami graficznymi. Ten atrybut XML jest używany tylko przez polecenia Kopiuj ruch i Wklej ruch w programie Adobe Flash Professional. W razie pominięcia tego atrybutu w kodzie XML przyjmowana jest domyślna wartość true.
 tweenSnapBooleanWłącza ("true") i wyłącza ("false") ustawienie przyciągania. Przyciąganie powoduje, że symbol jest powiązany ze ścieżką ruchu w swoim punkcie rejestracji. Ten atrybut nie ma wpływu na animację opisaną przez kod ActionScript, ponieważ język ActionScript nie umożliwia sterowania symbolami graficznymi. Ten atrybut XML jest używany tylko przez polecenia Kopiuj ruch i Wklej ruch w programie Adobe Flash Professional. W razie pominięcia tego atrybutu w kodzie XML przyjmowana jest domyślna wartość true.
 xNumberWspółrzędna x punktu środkowego instancji symbolu w bieżącej klatce kluczowej.
 yNumberWspółrzędna y punktu środkowego instancji symbolu w bieżącej klatce kluczowej.
 scaleXNumberWyrażona procentowo skala pozioma, podana jako liczba dziesiętna, zwykle z przedziału od 0 do 1. Jest to często wartość z przedziału od 0 do 1, ale może być również większa od 1 lub mniejsza od 0. Można na przykład ustawić wartość scaleX na -1, aby przerzucić obiekt, lub na 3, aby powiększyć obiekt 3-krotnie w stosunku do oryginalnego rozmiaru.
 scaleYNumberWyrażona procentowo skala pionowa, podana jako liczba dziesiętna, zwykle z przedziału od 0 do 1. Jest to często wartość z przedziału od 0 do 1, ale może być również większa od 1 lub mniejsza od 0. Można na przykład ustawić wartość scaleY na -1, aby przerzucić obiekt, lub na 3, aby powiększyć obiekt 3-krotnie w stosunku do oryginalnego rozmiaru.
 skewXNumberKąt (w stopniach) ścięcia wzdłuż osi poziomej. Jeśli wartości skewX i skewY są równe, zostaną zastąpione przez atrybut rotation.
 skewYNumberKąt (w stopniach) ścięcia wzdłuż osi pionowej. Jeśli wartości skewX i skewY są równe, zostaną zastąpione przez atrybut rotation.
 rotationNumberKąt obrotu (w stopniach) w bieżącej klatce.
 rotateDirectionStringOkreśla sposób obrotu animowanego elementu. Możliwe wartości to "auto", "none", "cw", "ccw". W razie pominięcia tego atrybutu w kodzie XML przyjmowana jest domyślna wartość "auto".
 rotateTimesNumberOkreśla, ile obrotów wykonuje, oprócz normalnego obrotu, animowany element między początkową klatką kluczową a następną klatką kluczową. W programie Adobe Flash Professional wartość ta musi być liczbą całkowitą nie mniejszą od 0, ale w klasach ruchu dozwolone są wartości ułamkowe.
 tweenScaleBooleanWartość false zapobiega zmianie skali w trakcie animacji. W razie pominięcia tego atrybutu w kodzie XML przyjmowana jest domyślna wartość true.
 cacheAsBitmapBooleanW razie pominięcia tego atrybutu w kodzie XML przyjmowana jest domyślna wartość false.
 blendModeStringMożliwe wartości to "normal", "layer", "multiply", "screen", "overlay", "hardlight", "lighten", "darken", "difference", "add", "subtract", "invert", "alpha" i "erase". W razie pominięcia tego atrybutu w kodzie XML przyjmowana jest domyślna wartość "normal".
 orientToPathBooleanW razie pominięcia tego atrybutu w kodzie XML przyjmowana jest domyślna wartość false.
Color  Zawiera ustawienia modyfikacji kolorów. Instancja symbolu programu Flash może mieć przypisany jeden z pięciu trybów kolorów: none, alpha, tint, brightness oraz advanced. W przypadku braku przekształcenia (opcja none) znacznik Color jest pusty, co oznacza wygląd normalny. W przypadku przekształceń alfa (opcja alpha) należy ustawić atrybuty alphaMultiplier oraz alphaOffset. W przypadku przekształceń tinty (opcja tint) należy ustawić atrybuty tintColor oraz tintMultiplier.W przypadku transformacji brightness należy użyć atrybutu brightness.W przypadku transformacji advanced należy użyć atrybutów redMultiplier, greenMultiplier, blueMultiplier, alphaMultiplier, redOffset, greenOffset, blueOffset oraz alphaOffset.
 brightnessNumberProcentowa wartość stosowana do kanału jasności, z przedziału od -1 do 1, gdzie -1 oznacza pełną czerń, a 1 oznacza pełną biel.
 tintColorWartość szesnastkowaSzesnastkowa wartość koloru, który ma być zastosowany.
 alphaMultiplierNumberProcentowa wartość stosowana do kanału alpha, podana jako wartość dziesiętna z przedziału od 0 do 1.
 redMultiplierNumberProcentowa wartość koloru (ułamek dziesiętny między 0 a 1).
 greenMultiplierNumberProcentowa wartość koloru (ułamek dziesiętny między 0 a 1).
 blueMultiplierNumberProcentowa wartość koloru (ułamek dziesiętny między 0 a 1).
 alphaMultiplierNumberWartość dziesiętna z przedziału od 0 do 1, reprezentująca wartość procentową, jaka ma być zastosowana do kanału przezroczystości alfa.
 tintMultiplierNumberWartość dziesiętna z przedziału od 0 do 1, reprezentująca wartość procentową, jaka ma być zastosowana do wartości tintColor.
 redOffsetNumberLiczba z zakresu od –255 do 255 dodawana do wyniku mnożenia wartości kanału czerwieni przez wartość redMultiplier.
 greenOffsetNumberLiczba z zakresu od –255 do 255 dodawana do wyniku mnożenia wartości kanału zieleni przez wartość greenMultiplier.
 blueOffsetNumberLiczba z zakresu od –255 do 255 dodawana do wyniku mnożenia wartości kanału koloru niebieskiego przez wartość blueMultiplier.
 alphaOffsetNumberLiczba z zakresu od -255 do 255 dodawana do wyniku mnożenia wartości kanału alfpha przez wartość alphaMultiplier.
tweens  Zawiera ustawienia modyfikacji krzywej dynamiki.
SimpleEase  Definiuje krzywą dynamiki o właściwościach niezmiennych przez cały czas trwania animacji ruchu.
 easeNumberWartość zmiany dynamiki, jaka ma być stosowana do wszystkich właściwości animacji ruchu. Atrybut ease to wartość procentowa z przedziału od -1 (100% przyspieszenia) do 1 (100% opóźnienia). Wartość domyślna 0 oznacza, że animacja odbywa się ze stałą szybkością, bez przyspieszania ani opóźniania.
 targetNumberPo wywołaniu poleceń Kopiuj ruch i Wklej ruch w programie Adobe Flash Professional narzędzie do tworzenia treści generuje kod XML, który nie zawiera atrybutu target elementu SimpleEase, ponieważ program Flash Professional przyjmuje tę samą wartość dla wszystkich właściwości krzywej dynamiki. Jednak klasy języka ActionScript 3.0 umożliwiają jednoczesne stosowanie różnych wartości SimpleEase do poszczególnych właściwości. Możliwe wartości atrybutu target są takie same, jak wartości atrybutu CustomEase: "position", "scale", "rotation", "color", "filters", "x", "y", "scaleX", "scaleY", "skewX" i "skewY".
CustomEase  Definiuje niestandardową krzywą dynamiki złożoną z krzywych Beziera trzeciego stopnia. Krzywą można zastosować do wszystkich właściwości naraz lub można zdefiniować różne krzywe dla różnych właściwości. Więcej informacji o krzywych reprezentujących niestandardowe właściwości zmiany dynamiki zawiera opis klasy CustomEase.
 targetNumberWłaściwość, której przypisywana jest wartość niestandardowa. Po wywołaniu poleceń Kopiuj ruch i Wklej ruch w programie Adobe Flash Professional narzędzie do tworzenia treści może wygenerować następujące wartości atrybutu target: "position", "scale", "rotation", "color", "filters". Klasy języka ActionScript 3.0 służące do sterowania ruchem zapewniają jeszcze większą elastyczność i pozwalają na definiowanie odrębnych krzywych dla właściwości: "x", "y", "scaleX", "scaleY", "skewX" oraz "skewY". Jeśli atrybut "target" nie zostanie uwzględniony w kodzie XML, wszystkie zmiany dynamiki dotyczą wszystkich tych właściwości łącznie. Uwaga: W kodzie XML nie występuje pierwszy i ostatni punkt niestandardowej krzywej dynamiki. Pierwszy punkt musi mieć zawsze współrzędne (0, 0) (wartość początkowa animowanej właściwości), a ostatni punkt musi mieć zawsze współrzędne (1, 1) (wartość końcowa animowanej właściwości). Aby skrócić kod i uniknąć potencjalnych błędów, wartości tych nie uwzględnia się w kodzie XML i są one uznawane za zdefiniowane niejawnie.
BezierControl  Punkt umieszczony względem krzywej, będący elementem jej definicji.
 xNumberWspółrzędna x punktu definiującego krzywą.
 yNumberWspółrzędna y punktu definiującego krzywą.
BezierNode  Punkt umieszczony na krzywej, będący elementem jej definicji.
 xNumberWspółrzędna x punktu na krzywej.
 yNumberWspółrzędna y punktu na krzywej.
filters  Definiuje obiekt z pakietu flash.filters, który ma być używany jako element (na przykład: filters:GlowFilter). Możliwe jest dodawanie atrybutów odpowiadających właściwościom określonego obiektu flash.filters. Na przykład: <filters:DropShadowFilter quality="1" inner="false" knockout="false" hideObject="false" distance="0" angle="45" color="0x000000" alpha="1" blurX="0" blurY="0" strength="0" />. Informacje zawiera opis pakietu flash.filters.

Poniżej zamieszczono przykładowy kod ActionScript z wewnętrznym kodem XML opisującym animację ruchu instancji klipu filmowego moveShape dla symbolu myShape; animacja, która trwa dziesięć klatek, uwzględnia obroty, przesunięcia, niestandardową krzywą dynamiki i zmiany wartości alfa:

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

[ X ]Dlaczego język angielski?
Treść dokumentacji języka ActionScript 3.0 wyświetlana w języku angielskim

Niektóre części dokumentacji języka ActionScript 3.0 nie są przetłumaczone na poszczególne języki. Gdy element nie jest przetłumaczony na dany język, jest wyświetlany tekst angielski. Na przykład opis klasy ga.controls.HelpBox nie jest przetłumaczony na żaden dodatkowy język. Z tego powodu polska wersja dokumentacji zawiera opis klasy ga.controls.HelpBox w języku angielskim.