0

我的画布上有多个对象。在某些条件之后,我希望我的一些精灵做动画。这是我的代码:

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++;  
}

任何人都知道并可以帮助我如何只制作特定的精灵做动画?

4

1 回答 1

1

根据我的建议,您必须在创建动画精灵对象时使用 deepCopy() 方法。根据以下

sign[index] = new AnimatedSprite(x, y, myregion.deepCopy());  

使用 deepCopy() 方法的优点是每次都会为您的精灵创建新区域。

于 2013-05-12T03:43:29.007 回答