我有动画的平铺精灵。我第一次想要动画4到7帧4次。在下一个瞬间我想连续移动0到3帧。我正在使用这段代码完成我的工作但是无法完成它
playerSprite.animate(new long[] { 100,100,100,100}, 4, 7, 2);
playerSprite.animate(new long[] { 100,100,100,100}, 0, 4, true);
答案 0 :(得分:2)
根据我的建议,你必须为此目的使用动画监听器。当第一个动画完成其工作时,您必须启动另一个动画。以下是可以帮助您的代码段。
animate(new long[] {100,100,100,100}, 4, 7, false, new 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) {
// start your second animation
}
});
使用这种方式你必须在onAnimationFinished方法中调用你的其他动画