MotionBase クラスの
addPropertyArray()
メソッドは、トゥイーン化されるすべてのプロパティを記述する値の配列を追加します。
この配列は、モーショントゥイーンのすべてのキーフレームに対して 1 つずつ配列項目を含む可能性があります。ただし、通常は、モーショントゥイーンのキーフレームの総数より、配列に含まれる項目の数の方が少なくなります。このような状況が発生するのは、配列内の最後の値が、残りのフレームで変化しない場合です。
配列引数の長さが、Motion オブジェクトの
duration
プロパティより長い場合、
addPropertyArray()
は
duration
プロパティの値を引数の長さに従って調節します。以前に追加されたプロパティにキーフレームを追加することはありません。新しく追加されるキーフレームは、アニメーションの余分なフレームとして存続します。
Motion オブジェクトの
x
プロパティと
y
プロパティは、トゥイーン化されたオブジェクトのアニメーション実行中の位置の変化を記述します。表示オブジェクトの位置が変化する場合、すべてのキーフレームで変化する可能性が最も高いのはこれらの座標の値です。
addPropertyArray()
メソッドを使用すると、さらにモーションプロパティを追加できます。例えば、トゥイーン化されたオブジェクトのサイズを変える場合は、
scaleX
と
scaleY
の値を追加します。傾斜させる場合は、
scewX
と
skewY
の値を追加します。回転させる場合は、
rotationConcat
プロパティを追加します。
以下のトゥイーンプロパティを定義するには、
addPropertyArray()
メソッドを使用します。
x
|
親の座標空間での、オブジェクトの変形点の水平位置
|
y
|
親の座標空間での、オブジェクトの変形点の垂直位置
|
z
|
親の座標空間での、オブジェクトの変形点の深度(z 軸)位置
|
scaleX
|
変形点から適用されるオブジェクトの水平方向の拡大/縮小率(パーセンテージ)
|
scaleY
|
変形点から適用されるオブジェクトの垂直方向の拡大/縮小率(パーセンテージ)
|
skewX
|
変形点から適用されるオブジェクトの水平方向の傾斜角度
|
skewY
|
変形点から適用されるオブジェクトの垂直方向の傾斜角度
|
rotationX
|
x 軸に対する、オブジェクトの元の方向からの回転
|
rotationY
|
y 軸に対する、オブジェクトの元の方向からの回転
|
rotationConcat
|
変形点から適用される、以前の方向に対する相対的な動作での、オブジェクトの回転(z 軸)の値
|
useRotationConcat
|
設定した場合、
addPropertyArray()
によって動作のデータが提供されると、ターゲットオブジェクトは回転します
|
blendMode
|
オブジェクトの色と下にあるグラフィックの混合を指定する BlendMode クラスの値
|
matrix3D
|
キーフレームに指定されている場合は、その matrix3D プロパティ。3D トゥイーンに使用されます。使用されると、それまでのすべての変形プロパティは無視されます
|
rotationZ
|
3D 親コンテナを基準とする、元の方向からのオブジェクトの z 軸の回転(度)。3D トゥイーンで rotationConcat の代わりに使用されます
|
自動生成されるスクリプトで追加されるプロパティは、Flash でモーショントゥイーンに割り当てられたプロパティによって決まります。独自バージョンのスクリプトをカスタマイズするときは、これらのプロパティを追加、削除、または変更できます。
次に示すコードは、
__motion_Wheel
という名前のモーショントゥイーンのプロパティに値を割り当てます。この例では、トゥイーン化された表示オブジェクトの位置は変わりませんが、モーショントゥイーンの 29 フレームの間、同じ位置で回転します。
rotationConcat
配列に割り当てられた複数の値が、回転を定義しています。このモーショントゥイーンの他のプロパティ値は変化しません。
__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"]);
次に示す例では、
Leaf_1
という名前の表示オブジェクトが、ステージを横切って移動します。
x
プロパティと
y
プロパティの配列に、アニメーションの 100 フレームのそれぞれに対する値が含まれています。さらに、ステージ上を移動しながら、オブジェクトは
z
軸を中心に回転します。
rotationZ
プロパティ配列の複数の項目が、回転を決定します。
__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"]);