Il metodo
addPropertyArray()
della classe MotionBase aggiunge un array di valori per descrivere ogni proprietà interpolata.
Potenzialmente, l'array contiene un elemento di array per ogni fotogramma chiave nell'interpolazione di movimento. Spesso alcuni array contengono un numero di elementi inferiore a quello dei fotogrammi chiave presenti nell'interpolazione di movimento. Questa circostanza si verifica quando l'ultimo valore nell'array non cambia nei fotogrammi rimanenti.
Se la lunghezza dell'argomento dell'array è superiore a quella della proprietà
duration
dell'oggetto Motion,
addPropertyArray()
regola di conseguenza il valore della proprietà
duration
. Non aggiunge fotogrammi chiave per le proprietà che sono state aggiunte in precedenza. I fotogrammi chiave appena aggiunti persistono per i fotogrammi aggiuntivi dell'animazione.
Le proprietà
x
e
y
dell'oggetto Motion descrivono la variazione della posizione dell'oggetto interpolato mentre l'animazione è in corso. Queste coordinate rappresentano i valori che molto probabilmente cambieranno in ogni fotogramma chiave, se cambia la posizione dell'oggetto di visualizzazione. Potete aggiungere altre proprietà di movimento con il metodo
addPropertyArray()
. Ad esempio, aggiungete i valori
scaleX
e
scaleY
se l'oggetto interpolato viene ridimensionato. Aggiungete i valori
skewX
e
skewY
se viene inclinato. Aggiungete la proprietà
rotationConcat
se ruota.
Utilizzate il metodo
addPropertyArray()
per definire le proprietà di interpolazione seguenti:
x
|
La posizione orizzontale del punto di trasformazione dell'oggetto nello spazio di coordinate del relativo elemento superiore
|
y
|
La posizione verticale del punto di trasformazione dell'oggetto nello spazio di coordinate del relativo elemento superiore
|
z
|
La posizione di profondità (asse z) del punto di trasformazione dell'oggetto nello spazio di coordinate del relativo elemento superiore
|
scaleX
|
La scala orizzontale (percentuale) dell'oggetto applicata partendo dal punto di trasformazione
|
scaleY
|
La scala verticale (percentuale) dell'oggetto applicata partendo dal punto di trasformazione
|
skewX
|
L'angolo di inclinazione orizzontale dell'oggetto, espresso in gradi, applicato partendo dal punto di trasformazione
|
skewY
|
L'angolo di inclinazione verticale dell'oggetto, espresso in gradi, applicato partendo dal punto di trasformazione
|
rotationX
|
La rotazione dell'oggetto attorno all'asse x rispetto al suo orientamento originale
|
rotationY
|
La rotazione dell'oggetto attorno all'asse y rispetto al suo orientamento originale
|
rotationConcat
|
I valori di rotazione (asse z) dell'oggetto nel movimento relativo all'orientamento precedente applicati a partire dal punto di trasformazione
|
useRotationConcat
|
Se impostato, fa ruotare l'oggetto di destinazione quando
addPropertyArray()
fornisce i dati per il movimento
|
blendMode
|
Il valore della classe BlendMode che specifica il modo in cui i colori dell'oggetto si mescolano con la grafica sottostante
|
matrix3D
|
Proprietà matrix3D se ne esiste una per il fotogramma chiave; utilizzata per le interpolazioni 3D; se utilizzata, tutte le precedenti proprietà di trasformazione vengono ignorate
|
rotationZ
|
Rotazione dell'asse z per l'oggetto, espressa in gradi, rispetto al suo orientamento originale e relativa al contenitore 3D superiore; utilizzata per le interpolazioni 3D al posto di rotationConcat
|
Le proprietà che vengono aggiunte nello script generato automaticamente dipendono dalle proprietà precedentemente assegnate all'interpolazione di movimento in Flash. Potete aggiungere, rimuovere o modificare alcune di queste proprietà quando personalizzate la vostra versione dello script.
Il codice seguente assegna dei valori alle proprietà di un'interpolazione di movimento di nome
__motion_Wheel.
In questo caso, l'oggetto di visualizzazione interpolato non cambia posizione bensì ruota su se stesso per tutti i 29 fotogrammi dell'interpolazione di movimento. I valori multipli assegnati all'array
rotationConcat
definiscono la rotazione. Gli altri valori delle proprietà di questa interpolazione di movimento non cambiano.
__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"]);
Nell'esempio seguente, l'oggetto di visualizzazione
Leaf_1
si sposta sullo stage. Gli array delle sue proprietà
x
e
y
contengono valori diversi per ognuno dei 100 fotogrammi dell'animazione. Inoltre, l'oggetto ruota sul proprio asse
z
mentre si sposta sullo stage. Gli elementi multipli nell'array della proprietà
rotationZ
determinano la rotazione.
__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"]);