2

アニメーションが終了したらAnimatedSprite、逆アニメーションにしたいということです。継続的にやりたいです。逆アニメーションが完成したら、元のアニメーションを再生したいと思います。これは簡単なことかもしれませんが、私はAndroidとAndEngineを初めて使用します。

mFlower1Sprite = new AnimatedSprite(20, 800, this.mFlower1);
mFlower1Sprite.setScale((float) 1.5);

mFlower1Sprite.animate(500,  0, new IAnimationListener () {
    public void onAnimationEnd(final AnimatedSprite pAnimatedSprite) {
            // reverse animation
    }
});

mScene.attachChild(mFlower1Sprite);
return mScene;
4

3 に答える 3

3

アニメーションメソッドを使用します。

public AnimatedSprite animate (long[] pFrameDurations, int[] pFrames, 
    int pLoopCount, AnimatedSprite.IAnimationListener pAnimationListener)

特定のフレームをアニメーション化します。

パラメーター:

pFrameDurations pFramesと同じ長さである必要があります。

pFrames アニメートするフレームのインデックス。

インデックスを逆の順序でリストするだけです。

于 2012-09-04T17:43:14.447 に答える
0

私は自分でスプライトを使って作業していますが、このjQueryプラグインに出くわしました。見てみな。 http://spritely.net/

于 2012-07-10T23:50:07.830 に答える
-1

AnimatedSpriteのフレームを反転するためのサポートについては知りませんが、おそらく便利な機能なので、間違っているかどうかを調べたいと思います。

最善の策は、フレームを逆にして別のスプライトシートを作成し、そのシートのAnimatedSpriteの別のインスタンスを作成することです。次に、アクティビティ内に1つまたは2つのプライベートIAnimationListenersを定義します(.animate()を呼び出すときにオンザフライではなく)。これにより、各アニメーションの最後に2つのスプライトが交互にデタ​​ッチおよびアタッチされます。

于 2012-06-12T14:08:04.037 に答える