0

特定のインデックス(私の場合は現在のインデックス)からスプライトをアニメーション化する方法を知っている人はいますか? 私は何かを試みますが、成功しません -

    if (!sprite.isAnimationRunning()) {
     int index = sprite.getCurrentTileIndex();
     sprite.animate(frameDurations, index, 7, true);
    }

そして、frameDurationsがframeCountと等しくないため、例外が発生するたびに。ボタンが押されたときに currentIndex からスプライトをアニメーション化したいだけです。:/

4

2 に答える 2

0

このスプライトには 8 つのフレームがあります。7 番目と 8 番目のフレームをアニメーション化しようとしています。それが終了したら、フレーム 0 から 6 までアニメーション化します。100 は持続時間です。

Player.sprite.animate(
                                            new long[] { 100, 100 }, 7, 8,
                                            false, new IAnimationListener() {

                                                public void onAnimationStarted(
                                                        AnimatedSprite pAnimatedSprite,
                                                        int pInitialLoopCount) {

                                                }

                                                public void onAnimationLoopFinished(
                                                        AnimatedSprite pAnimatedSprite,
                                                        int pRemainingLoopCount,
                                                        int pInitialLoopCount) {

                                                }

                                                public void onAnimationFrameChanged(
                                                        AnimatedSprite pAnimatedSprite,
                                                        int pOldFrameIndex,
                                                        int pNewFrameIndex) {

                                                }

                                                public void onAnimationFinished(
                                                        AnimatedSprite pAnimatedSprite) {
                                                    Player.sprite.animate(
                                                            new long[] { 100,
                                                                    100, 100,
                                                                    100, 100,
                                                                    100, 100 },
                                                            0, 6, true);
                                            }
                                        });
于 2013-11-30T05:51:38.353 に答える