Metoda
addPropertyArray()
klasy MotionBase dodaje tablicę wartości, które opisują poszczególne animowane właściwości.
Tablica może zawierać jeden element dla każdej klatki kluczowej w animacji ruchu. Często niektóre z tych tablic zawierają mniej elementów niż całkowita liczba klatek kluczowych w animacji ruchu. Taka sytuacja występuje wówczas, gdy ostatnia wartość w tablicy nie zmienia się dla pozostałych klatek.
Jeśli długość argumentu tablicy jest większa niż właściwość
duration
obiektu Motion, wówczas metoda
addPropertyArray()
zmienia odpowiednio właściwość
duration
. Nie dodaje klatek kluczowych dla właściwości, które zostały poprzednio dodane. Nowo dodane klatki kluczowe są zachowane dla dodatkowych klatek animacji.
Właściwości
x
i
y
obiektu Motion opisują zmiany pozycji obiektu animowanego w miarę przebiegu animacji. Te współrzędne są wartościami, których zmiana jest najbardziej prawdopodobna w każdej klatce kluczowej, pod warunkiem że pozycja obiektu wyświetlanego ulega zmianie. Za pomocą metody
addPropertyArray()
można dodawać dodatkowe właściwości ruchu. Przykład: jeśli dochodzi do zmiany wielkości animowanego obiektu, należy dodać wartości
scaleX
i
scaleY
. Jeśli obiekt jest pochylany, należy dodać właściwości
scewX
i
skewY
. Jeśli jest obracany, należy dodać właściwość
rotationConcat
.
Metoda
addPropertyArray()
służy do definiowania następujących właściwości animacji:
x
|
położenie w poziomie punktu transformacji obiektu w układzie współrzędnych jego obiektu nadrzędnego
|
y
|
położenie w pionie punktu transformacji obiektu w układzie współrzędnych jego obiektu nadrzędnego
|
z
|
położenie głębokości (na osi z) punktu transformacji obiektu w układzie współrzędnych jego obiektu nadrzędnego
|
scaleX
|
skala pozioma (jako procent) obiektu względem punktu transformacji
|
scaleY
|
skala pionowa (jako procent) obiektu względem punktu transformacji
|
skewX
|
kąt pochylenia obiektu w poziomie — kąt jest podawany w stopniach i wyznaczany względem punktu transformacji
|
skewY
|
kąt pochylenia obiektu w pionie — kąt jest podawany w stopniach i wyznaczany względem punktu transformacji
|
rotationX
|
obrót obiektu wokół osi x z orientacji początkowej
|
rotationY
|
obrót obiektu wokół osi y z orientacji początkowej
|
rotationConcat
|
wartości obrotu (oś z) obiektu w ruchu względem poprzedniej orientacji, wyznaczane względem punktu transformacji
|
useRotationConcat
|
jeśli ta właściwość jest ustawiona, powoduje obrót obiektu docelowego, gdy metoda
addPropertyArray()
określa dane dla ruchu
|
blendMode
|
wartość klasy BlendMode określająca mieszanie kolorów obiektu z kolorami obiektów graficznych, które znajdują się pod nim
|
matrix3D
|
właściwość matrix3D, jeśli istnieje dla klatki kluczowej; używana dla animacji 3D; jeśli jest używana, wszystkie poprzednie właściwości transformacji są ignorowane
|
rotationZ
|
obrót obiektu wokół osi z określony w stopniach, od orientacji oryginalnej względem nadrzędnego kontenera 3D; używana w przypadku animacji 3D zamiast właściwości rotationConcat
|
Właściwości, jakie zostały dodane w skrypcie wygenerowanym automatycznie, są uzależnione od właściwości, jakie zostały przypisane do animacji ruchu w programie Flash. W przypadku dostosowywania własnej wersji skryptu można dodawać, usuwać i modyfikować niektóre z tych właściwości.
Poniższy kod przypisuje wartości do właściwości animacji ruchu o nazwie
__motion_Wheel.
W tym przypadku animowany obiekt wyświetlany nie zmienia położenia, ale obraca się w miejscu przez 29 klatek animacji ruchu. Wartości przypisane do tablicy
rotationConcat
definiują rotację. Wartości innych właściwości w tej animacji ruchu nie ulegają zmianie.
__motion_Wheel = new Motion();
__motion_Wheel.duration = 29;
__motion_Wheel.addPropertyArray("x", [0]);
__motion_Wheel.addPropertyArray("y", [0]);
__motion_Wheel.addPropertyArray("scaleX", [1.00]);
__motion_Wheel.addPropertyArray("scaleY", [1.00]);
__motion_Wheel.addPropertyArray("skewX", [0]);
__motion_Wheel.addPropertyArray("skewY", [0]);
__motion_Wheel.addPropertyArray("rotationConcat",
[
0,-13.2143,-26.4285,-39.6428,-52.8571,-66.0714,-79.2857,-92.4999,-105.714,
-118.929,-132.143,-145.357,-158.571,-171.786,-185,-198.214,-211.429,-224.643,
-237.857,-251.071,-264.286,-277.5,-290.714,-303.929,-317.143,-330.357,
-343.571,-356.786,-370
]
);
__motion_Wheel.addPropertyArray("blendMode", ["normal"]);
W kolejnym przykładzie obiekt wyświetlany o nazwie
Leaf_1
porusza się na stole montażowym. Tablice jego właściwości
x
i
y
zawierają różne wartości dla każdych 100 klatek animacji. Ponadto podczas ruchu na stole montażowym obiekt obraca się wokół osi
z
. Elementy w tablicy właściwości
rotationZ
określają rotację.
__motion_Leaf_1 = new MotionBase();
__motion_Leaf_1.duration = 100;
__motion_Symbol1_4.addPropertyArray("y",
[
0,5.91999,11.84,17.76,23.68,29.6,35.52,41.44,47.36,53.28,59.2,65.12,71.04,
76.96,82.88,88.8,94.72,100.64,106.56,112.48,118.4,124.32,130.24,136.16,142.08,
148,150.455,152.909,155.364,157.818,160.273,162.727,165.182,167.636,170.091,
172.545,175,177.455,179.909,182.364,184.818,187.273,189.727,192.182,194.636,
197.091,199.545,202,207.433,212.865,218.298,223.73,229.163,234.596,240.028,
245.461,250.893,256.326,261.759,267.191,272.624,278.057,283.489,
288.922,294.354,299.787,305.22,310.652,316.085,321.517,326.95,330.475,334,
337.525,341.05,344.575,348.1,351.625,355.15,358.675,362.2,365.725,369.25,
372.775,376.3,379.825,383.35,386.875,390.4,393.925,397.45,400.975,404.5,
407.5,410.5,413.5,416.5,419.5,422.5,425.5
]
);
__motion_Symbol1_4.addPropertyArray("scaleX", [1.00]);
__motion_Symbol1_4.addPropertyArray("scaleY", [1.00]);
__motion_Symbol1_4.addPropertyArray("skewX", [0]);
__motion_Symbol1_4.addPropertyArray("skewY", [0]);
__motion_Symbol1_4.addPropertyArray("z",
[
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
]
);
__motion_Symbol1_4.addPropertyArray("rotationX", [64.0361]);
__motion_Symbol1_4.addPropertyArray("rotationY", [41.9578]);
__motion_Symbol1_4.addPropertyArray("rotationZ",
[
-18.0336,-17.5536,-17.0736,-16.5936,-16.1136,-15.6336,-15.1536,-14.6736,
-14.1936,-13.7136,-13.2336,-12.7536,-12.2736,-11.7936,-11.3136,-10.8336,
-10.3536,-9.8736,-9.3936,-8.9136,-8.4336,-7.9536,-7.4736,-6.9936,-6.5136,
-6.0336,-7.21542,-8.39723,-9.57905,-10.7609,-11.9427,-13.1245,-14.3063,
-15.4881,-16.67,-17.8518,-19.0336,-20.2154,-21.3972,-22.5791,-23.7609,
-24.9427,-26.1245,-27.3063,-28.4881,-29.67,-30.8518,-32.0336,-31.0771,
-30.1206,-29.164,-28.2075,-27.251,-26.2945,-25.338,-24.3814,-23.4249,
-22.4684,-21.5119,-20.5553,-19.5988,-18.6423,-17.6858,-16.7293,-15.7727
-14.8162,-13.8597,-12.9032,-11.9466,-10.9901,-10.0336,-10.9427,-11.8518,
-12.7609,-13.67,-14.5791,-15.4881,-16.3972,-17.3063,-18.2154,-19.1245,
-20.0336,-20.9427,-21.8518,-22.7609,-23.67,-24.5791,-25.4881,-26.3972,
-27.3063,-28.2154,-29.1245,-30.0336,-28.3193,-26.605,-24.8907,-23.1765,
-21.4622,-19.7479,-18.0336
]
);
__motion_Symbol1_4.addPropertyArray("blendMode", ["normal"]);