1

Flash ムービー クリップ (Flash Pro CS で作成されたようなアニメーション) を as3 で作成する方法を探しています。そのため、それらを Prezi にインポートできます。

Flex プロジェクトを使用して Flash Builder で as3 プログラミングを数多く行ってきましたが、MovieClips の仕組みについての知識はありません。

私がすでに試したのは、MovieClip クラスを拡張し、タイマーに基づいてアニメーションを作成しようとすることです。これは失敗したため、ENTER_FRAME イベントを試しました (フラッシュ アニメーションはフレームに基づいているため、私は考えました...)。しかし、これはすべて失敗し、コンストラクターで描画されたグラフィックのみが表示され、アニメーションは発生しません。(最初の段落で書いたように、swf を Prezi にインポートしてこれをテストしており、ブラウザで開くと期待どおりに動作します)

それを行う方法はありますか?特定のイベントを聞くのが好きですか?

4

2 に答える 2

1

面白いことが起こった。私が試していたサンプルコード(私はすでにENTER_FRAMEでSpriteを試しました)をお見せしたかったのですが、それは機能していませんでした。偶然に私は解決策を見つけました。最初のフレームで何かを描く必要があるようです。そうしないと、他のフレームは機能しません(少なくともPreziでは)。

だからここに動作するコードがあります:

    public class PreziTest extends Sprite{
        private var radius:uint = 10;

        public function PreziTest(){
            addEventListener(Event.ENTER_FRAME, onEnterFrame);

            onEnterFrame(null); // WITHOUT THIS IT WON'T WORK - YOU NEED TO DRAW SOMTHING IN THE FIRST FRAME
        }

        private function onEnterFrame(event:Event):void{
            radius += 10;

            if(radius > 200)
                radius = 10;

            graphics.clear();
            graphics.beginFill(0xff0000);
            graphics.drawCircle(radius, radius, radius);
        }
    }

ご協力ありがとうございます!

于 2012-07-03T08:21:27.650 に答える
1

スプライトシートを試してみてください。これは AS3 でのアニメーションに最適なソリューションであり、実装も非常に簡単です。描画を変更するために、これを行うタイマーと ENTER_FRAME イベントがあります。

于 2012-07-03T07:09:51.300 に答える