4

Haxe (flash9) で単純な (ループ) アニメーション (移動、アルファの変更など) を行いたいと考えています。ライブラリにフレームに似たものはなく、単一のフレーム アセットだけです。

私は初心者なので。私は必ずしも洗練されたフレームワークを探しているわけではありません。クイック&ダーティなもので満足です。おそらく、 (クラス変数)をifチェックし、値を線形補間します。frame

class MyClass extends Sprite {
    static var frame:Int = 0;
    static inline var framerate:Int = 25;

    static function main() {
        var app:MyClass = new MyClass();
        flash.Lib.current.addChild(app);
    }

    private function new() {
        super();

        // init assets here

        var myTimer:Timer = new Timer(1000/framerate);
        myTimer.addEventListener(TimerEvent.TIMER, animate);
        myTimer.start();
    }

    function animateForeground(event:TimerEvent) {
        frame = (frame + 1) % 1000;

        // set new values depending on frame
    }

}

キーフレーム アニメーションの基本的な考え方を理解しています。私が探しているのは、プログラムのこの部分をどのように構成するかです。

どのように進めればよいか、いくつかの指針を教えてください。

4

2 に答える 2

4

アニメーションを作成したい場合は、トゥイーンライブラリを使用することを強くお勧めします。

フレームレートと同じ速度で実行されるタイマーではなく、アニメーションを ENTER_FRAME イベントに接続することをお勧めします。タイマーは ENTER_FRAME イベントよりも信頼性が高くないため、これら 2 つを分離する必要はありません。

また、「キーフレーム」アニメーションにあまり注目すべきではないと思います。これは、キーフレームがある場合に便利な概念です、そうでない場合は、これを実装するための最良の方法と思われることを行う方がはるかに実用的です.

ここにコードをいくつか入れますが、ここで何を達成しようとしているのかよくわからないので、コードを思いつくのに少し苦労しています.

于 2009-01-17T19:58:22.233 に答える
0

Robert Penner の本からchapter7_tweening.pdfを読む価値はあると思いますが、コードに関してはかなり時代遅れですが、トゥイーンの概念をカバーしています。

しかし、車輪を再発明する価値はないかもしれません...

Feffectは優れたクロス プラットフォームのトゥイーン エンジンです。Actuateは使いやすく高速です。トゥイーンにマクロを使用するのがおそらく最良のアプローチですが、開始するのは少し複雑かもしれません ( tinkerbell )。

于 2012-10-01T05:22:30.307 に答える