アニメーションの作成

Flash Player 9 以降、Adobe AIR 1.0 以降、Flash CS3 以降(必須)

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