我有一个包含CCSprite对象的数组randomAlphabets。我需要在这些对象上开始动画。 randomAlphabets数组(NSMutable)最多可包含4个元素。我正在运行一个循环,然后开始动画。这是正确的方法吗?
-(void) startAnimation:(CCSprite *) sprite
{
[self generateRandomCoordinates];
id actionMove = [CCMoveTo actionWithDuration:3.0 position:ccp(x,y)];
id actionRotate = [CCRotateBy actionWithDuration:0.0 angle:rotateBy];
id actionMoveDone = [CCCallFuncN actionWithTarget:self selector:@selector(finishedMoving:)];
[sprite runAction:[CCSequence actions:actionMove,actionRotate, actionMoveDone, nil]];
}
-(void) addAlphabetsOnScreen
{
for (int i=0; i<=randomAlphabets.count -1; i++) {
CCSprite *sprite = [randomAlphabets objectAtIndex:i];
[self generateRandomCoordinates];
sprite.position = ccp(x,y);
[self addChild:sprite];
[self startAnimation:sprite];
}
}
答案 0 :(得分:2)
当然,为什么不呢?
如果性能问题或精灵没有同时开始他们的动作,你可能想要在一个步骤(可能在加载关卡后)为每个精灵“准备”序列,然后在另一个步骤中将它们全部踢掉。同时开始的4个精灵似乎并不太难。