Flashでエンベロープフラップをプログラムしたので、
R スタンプボタンがクリックされたときにエンベロープの上に完全に開いて表示されるアニメーションは、フラップがゆっくり開いているように見えるようにアニメーションを調整する必要があります。これを行うには、フラップの2つのプロパティを制御します。 newFlapオブジェクトは、ライブラリ内のFlapAniムービークリップを参照する変数です。この変数を使用して、フラップをステージに表示します。
簡単なレビューとして、前回のチュートリアルでは、openFlapと呼ばれる関数をプログラムして、newFlapオブジェクトを表示リストに追加しました。 addChildコードでこれを行いました。また、newFlap.xおよびnewFlap.yプロパティの初期位置を設定します。これにより、フラップの下部が封筒の上端に配置されました。前述のように、ステージ上のxおよびy位置の値は、エンベロープのサイズと場所によって異なる場合があります。
最初に行う必要があるのは、フラップをエンベロープの上端の下に配置するnewFlap.y値を実験して、アニメーションの開始時に見えなくなるようにすることです。実際、三角形のフラップのポイントは、エンベロープの上端のすぐ下になります。実験中に、newFlap.xを300(100の追加)に設定すると、フラップを100ピクセル右に移動する方が簡単な場合があります。これにより、封筒の右側でフラップが部分的に見えるようになります。実験の後、200のnewFlap.y値が必要なものであることがわかりました。これがフラップの新しい初期位置です。次のステップに進む前に、newFlap.xの値を元の値に戻すことを忘れないでください。
- 200の新しいnewFlap.y値を反映するために、前回のチュートリアルの既存のコードを変更する必要があります。この変更を行った後、ムービーをテストします。スタンプボタンをクリックしてもフラップが表示されないはずです。
newFlap.y = 200;
アニメーションでは、フラップをエンベロープの上にゆっくりと上方向に移動させます。同時に、最初のスケール値ゼロからフラップを開いてスケールする必要があります。スケールをゼロに設定して開始することで、フラップを完全に開くまでスケールを遅くすることができます。 y値はフラップを上方に移動しますが、フラップが開いているように見えるのはスケール値です。
- 関数への次の変更は、scaleYをゼロに設定し、フラップを平らにするコードの追加です。
newFlap.scaleY = 0;
次に、フラップを開くアニメーションの部分で作業する必要があります。 ActionScriptでこれを行う方法はいくつかあります。このチュートリアルでは、ステージに接続されたイベントリスナーを使用して、scaleFlapと呼ばれる2番目の関数を実行します。この2番目の関数をopenFlap関数内に配置します。
- scaleYコードの下で、イベントリスナーをステージに追加しましょう。これがscaleFlap関数を実行するものです。
stage.addEventListener(Event.ENTER_FRAME、scaleFlap);
- 次に、2番目の関数を追加します。このコードをコピーしてopenFlap関数に貼り付けます。
関数scaleFlap(event:Event):void
{
if(newFlap.scaleY> = 1)
{stage.removeEventListener(Event.ENTER_FRAME、scaleFlap); }
そうしないと
{newFlap.scaleY + =。05;
newFlap.y-= 2.9;}
}
コードを調べてみましょう。最初のifステートメントはscaleY値をチェックして、それが1以上かどうかを確認します。数値1は100%のスケール値を表します。条件が真の場合、イベントリスナーを削除し、アニメーションを停止します。
条件が偽の場合、scaleY値を.05増やし、フラップを負の2.9だけ上に移動することにより、アニメーションを続行します。 (Flashステージでは、Y位置の数値を減らして上に移動します。)これは、ifステートメントの条件がtrueになるまで、新しいフレームごとに継続します。
繰り返しますが、これらの数値は、封筒のサイズとステージ上の封筒の場所のために、映画では異なる場合があります。これが最終的なアニメーションです。
Copyright 2018 Adobe Systems Incorporated。全著作権所有。 Adobe Systems Incorporatedの許可を得て、Adobe製品のスクリーンショットを転載しました。 Adobe、Photoshop、Photoshop Album、Photoshop Elements、Illustrator、InDesign、GoLive、Acrobat、Cue、Premiere Pro、Premiere Elements、Bridge、After Effects、InCopy、Dreamweaver、Flash、ActionScript、Fireworks、Contribute、Captivate、Flash CatalystおよびFlash Paper米国および/またはその他の国におけるAdobe Systems Incorporatedの登録商標または商標です。