Iphone Cocos-2d操作-让他们在继续执行代码中的下一行之前等待?

Iphone Cocos-2d操作-让他们在继续执行代码中的下一行之前等待?,iphone,cocos2d-iphone,Iphone,Cocos2d Iphone,基本上,假设我有: [sprite runAction:action]; [sprite2 runAction:action2]; 在cocos2d中,这将同时执行这两个命令。但是,假设我想在进入下一行之前完全完成第一行,我该怎么做呢?在第一个精灵上,运行一个[action,startSprite2]的CCSequence,其中startSprite2是另一个动作(CCCallFunc)。当“操作”完成时,将调用startSprite2例程。将其添加到模块中,然后在该例程中启动sprite2操

基本上,假设我有:

[sprite runAction:action];
[sprite2 runAction:action2];

在cocos2d中,这将同时执行这两个命令。但是,假设我想在进入下一行之前完全完成第一行,我该怎么做呢?

在第一个精灵上,运行一个[action,startSprite2]的CCSequence,其中startSprite2是另一个动作(CCCallFunc)。当“操作”完成时,将调用startSprite2例程。将其添加到模块中,然后在该例程中启动sprite2操作。

@YvesLeborg回答正确。还有很多其他方法可以做到这一点。一种方法可以是这样。为每个精灵动作创建两个函数,如

-(void)runSprite1Action{
[sprite1 runAction:action];
}

-(void)runSprite2Action{
[sprite2 runAction:action2];
}
然后在父场景/层上,您可以添加一个CCSequence动作,该动作将首先调用第一个动作,然后当第一个动作完成运行时,它将调用第二个动作。i、 e

CCSequence *sequence = [CCSequence actions:[CCCallFunc actionWithTarget:self selector:@selector(runSprite1Action)],
                            [CCCallFunc actionWithTarget:self selector:@selector(runSprite2Action)], nil];
    [self runAction:sequence];
我希望这有帮助