当创建一个精灵对象时,我使用.animate(250);
开始循环遍历我的精灵。这很好。
但是当我在碰撞检测中尝试运行类似.animate(new long[] { 250, 250, 500, 500 }, 0, 3, true);
之类的东西时,它仅显示帧号0。
如果我在第一次创建对象时调用它,该函数也将起作用。
最佳答案
我认为是因为始终检测到冲突,请尝试首先在您的Sprite中设置一个标签,例如:
AnimatedSprite elemen1 = new AnimatedSprite(...);
elemen1.setTag(1);
在您的碰撞方法中:
if(elemen1.getTag==1 && elemen1.collidesWith(elementX)){
elemen1.setTag(0);
elemen1.animate(new long[] { 250, 250, 500, 500 }, 0, 3, true);
}
因为如果动画永远不会到第二帧是因为所有的时间都在开始,那么最好的问候。