我正在开发一个简单的 cocos2d 游戏,我想在其中CCSprite
同时为两个 s 设置动画,为此我只需CCAction
在各自的 `CCSprite' 上设置 s,如下所示。
[first runAction:[CCMoveTo actionWithDuration:1 position:secondPosition]];
[second runAction:[CCMoveTo actionWithDuration:1 position:firstPosition]];
现在我想等到动画完成,所以我可以执行下一步。我应该如何等待这些动画完成?
实际上有两个方法调用,第一个通过上面的代码动画对象,第二个调用另一个动画。
我需要延迟第二个方法调用,直到第一个动画完成。(我不想使用CCCallBlock
块,因为我想从与第一个调用者相同的调用者调用第二个方法。
编辑
我试过这个..
__block BOOL moving = YES;
[second runAction:[CCSequence actions:[CCMoveTo actionWithDuration:1 position:firstPosition], [CCCallBlockN actionWithBlock:^(CCNode *node){
CCLOG(@"\n\n\n\n\n\n\n\nMovement Finished\n\n\n\n\n\n\n\n");
moving = NO;
}],nil]];
while(moving);
但是CCCallBlock
永远不会被调用,因此永远卡在while
循环中=/