我的画布上有多个对象。并且在某些条件之后,我想要一些我的精灵做动画。在这里我的代码:
private AnimatedSprite[] sign;
sign = new AnimatedSprite[9];
// some loop code to create 9 sign
..
sign[index] = new AnimatedSprite(x, y, myregion);
..
直到这部分没问题,所有迹象都在位。但是当我想为一些精灵设置动画时,所有精灵都会做动画。这里是代码:
while(signIndex<9)
{
if(signIndex==winSlot[0] || signIndex==winSlot[1] || signIndex==winSlot[2])
{
grupSign= null;
grupSign= sign[signIndex];
grupSign.animate(200, true);
}
signIndex++;
}
任何人都知道并且可以帮助我如何让只有特定的精灵做动画?
答案 0 :(得分:1)
根据我的建议,你必须在创建动画精灵对象时使用deepCopy()方法。按照以下
sign[index] = new AnimatedSprite(x, y, myregion.deepCopy());
使用deepCopy()方法的好处是每次为精灵创建新区域。