De methode
addPropertyArray()
van de klasse MotionBase voegt een array van waarden toe om elke eigenschap met tweening te beschrijven.
Mogelijk bevat de array één arrayitem voor elk hoofdframe in de bewegingstween. Dikwijls bevatten sommige arrays minder items dan het totale aantal hoofdframes in de bewegingstween. Deze situatie doet zich voor wanneer de laatste waarde in de array niet verandert voor de overige frames.
Als de lengte van het arrayargument groter is dan de eigenschap
duration
van het Motion-object, past
addPropertyArray()
de waarde van de eigenschap
duration
dienovereenkomstig aan. Deze methode voegt geen hoofdframes toe voor de eigenschappen die eerder zijn toegevoegd. De zojuist toegevoegde hoofdframes blijven aanwezig in de extra frames van de animatie.
De eigenschappen
x
en
y
van het Motion-object beschrijven de veranderende positie van het getweende object terwijl de animatie wordt uitgevoerd. Deze coördinaten zijn de waarden die het meest waarschijnlijk in elk hoofdframe veranderen als de positie van het weergaveobject verandert. U kunt extra bewegingseigenschappen toevoegen met de methode
addPropertyArray()
. Voeg bijvoorbeeld de waarden
scaleX
en
scaleY
toe als het formaat van het getweende object wordt gewijzigd. Voeg de waarden
skewX
en
skewY
toe als het object wordt scheefgetrokken. Voeg de eigenschap
rotationConcat
toe als het object wordt geroteerd.
Gebruik de methode
addPropertyArray()
om de volgende tweeneigenschappen te definiëren:
x
|
horizontale positie van het transformatiepunt van het object in de coördinaatruimte van het bovenliggende object
|
y
|
verticale positie van het transformatiepunt van het object in de coördinaatruimte van het bovenliggende object
|
z
|
dieptepositie (z-as) van het transformatiepunt van het object in de coördinaatruimte van het bovenliggende object
|
scaleX
|
horizontale schaal als een percentage van het object aangegeven zoals deze vanaf het transformatiepunt wordt toegepast
|
scaleY
|
verticale schaal als een percentage van het object aangegeven zoals deze vanaf het transformatiepunt wordt toegepast
|
skewX
|
horizontale scheeftrekhoek van het object in graden aangegeven zoals deze vanaf het transformatiepunt wordt toegepast
|
skewY
|
verticale scheeftrekhoek van het object in graden aangegeven zoals deze vanaf het transformatiepunt wordt toegepast
|
rotationX
|
rotatie van het object rond de X-as ten opzichte van de oorspronkelijke oriëntatie
|
rotationY
|
rotatie van het object rond de Y-as ten opzichte van de oorspronkelijke oriëntatie
|
rotationConcat
|
rotatiewaarden (z-as) van het object in de beweging ten opzichte van de vorige oriëntatie die is toegepast vanaf het transformatiepunt
|
useRotationConcat
|
Als deze waarde is ingesteld, wordt het doelobject gedraaid wanneer
addPropertyArray()
gegevens voor beweging levert
|
blendMode
|
De waarde van de klasse BlendMode geeft de kleurencombinatie van het object op met afbeeldingen eronder
|
matrix3D
|
De eigenschap matrix3D als deze voor het hoofdframe is ingesteld; wordt gebruikt voor 3D-tweens; als deze wordt gebruikt, worden alle vorige transformatie-eigenschappen genegeerd
|
rotationZ
|
Z-asrotatie van het object, in graden, vanuit de oorspronkelijke oriëntatie ten opzichte van de bovenliggende 3D-container; wordt in plaats van rotationConcat voor 3D-tweens gebruikt
|
Welke eigenschappen in het automatisch gegenereerde script worden toegevoegd, is afhankelijk van de eigenschappen die in Flash aan de bewegingstween zijn toegewezen. U kunt bepaalde eigenschappen toevoegen, verwijderen of wijzigen wanneer u uw eigen versie van het script aanpast.
De volgende code wijst waarden toe aan de eigenschappen van de bewegingstween
__motion_Wheel.
In dit geval verandert de locatie van het getweende weergaveobject niet, maar draait het object ter plekke rond door de 29 frames van de bewegingstween te doorlopen. De waarden die aan de array
rotationConcat
zijn toegewezen, bepalen de rotatie. De andere eigenschapwaarden van deze bewegingstween veranderen niet.
__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"]);
In het volgende voorbeeld verplaatst het weergaveobject met de naam
Leaf_1
zich over het werkgebied. De arrays met de eigenschappen
x
en
y
bevatten verschillende waarden voor elk van de 100 frames in de animatie. Daarnaast draait het object om zijn
z
-as terwijl het over het werkgebied wordt verplaatst. De items in de array met
rotationZ
-eigenschappen bepalen de rotatie.
__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"]);