Animaties beschrijven

Flash Player 9 en hoger, Adobe AIR 1.0 en hoger, vereist Flash CS3 of hoger

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"]);