基本上,说我有这样的:Cocos-2d操作 - 让他们在继续阅读代码中的下一行之前等待?
[sprite runAction:action];
[sprite2 runAction:action2];
在cocos2d,这将在同一时间执行两个。但是说我想在第一行完成之前完成第一行,那我该怎么做?
基本上,说我有这样的:Cocos-2d操作 - 让他们在继续阅读代码中的下一行之前等待?
[sprite runAction:action];
[sprite2 runAction:action2];
在cocos2d,这将在同一时间执行两个。但是说我想在第一行完成之前完成第一行,那我该怎么做?
在第一个精灵上,运行[action,startSprite2]的CCSequence,其中startSprite2是另一个动作(CCCallFunc)。当'action'完成时,startSprite2例程将被调用。将它添加到你的模块中,然后在那个例程中启动你的sprite2动作。
@YvesLeborg答案是正确的。还有很多其他的方式来做到这一点。一种方式可以是这样的。对于像
-(void)runSprite1Action{
[sprite1 runAction:action];
}
-(void)runSprite2Action{
[sprite2 runAction:action2];
}
每个精灵行动创建两个函数,然后父场景/层上可以添加CCSequence行动,将首先调用的第一个动作,然后当第一个动作将完成运行,它会调用第二次行动。即
CCSequence *sequence = [CCSequence actions:[CCCallFunc actionWithTarget:self selector:@selector(runSprite1Action)],
[CCCallFunc actionWithTarget:self selector:@selector(runSprite2Action)], nil];
[self runAction:sequence];
我希望这有助于。