Andengine恶意动画给出错误的framecount异常

时间:2014-10-26 16:50:33

标签: android andengine sprite

我正在尝试用两帧动画一个精灵...... 动画从第0帧到第1帧起作用,但是“pFrameDurations不等于pFrameCount!”动画从第1帧到0时出现异常。

sprite.setCurrentTileIndex(1);
sprite.animate(new long[]{200,0}, 1, 0, 0, new AnimatedSprite.IAnimationListener() {

            @Override
            public void onAnimationStarted(AnimatedSprite pAnimatedSprite,
                                           int pInitialLoopCount) {
            }

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

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

            @Override
            public void onAnimationFinished(AnimatedSprite pAnimatedSprite) {
            }
        });

有没有人有任何想法?

1 个答案:

答案 0 :(得分:0)

检查您正在使用的方法的签名:

public void animate(final long[] pFrameDurations, final int pFirstTileIndex, final int pLastTileIndex, final int pLoopCount, final IAnimationListener pAnimationListener);

您将第一个tile索引设置为1,将最后一个tile索引设置为0.

如果这不是错误并且您想要向后设置动画,则必须使用以下方法并按所需顺序指定帧:

public void animate(final long[] pFrameDurations, final int[] pFrames, final IAnimationListener pAnimationListener);