Cocos2d iphone 动画结束后切换到下一个场景。cocos2d

Cocos2d iphone 动画结束后切换到下一个场景。cocos2d,cocos2d-iphone,ccmenuitem,Cocos2d Iphone,Ccmenuitem,如何使项目在场景被替换之前完成操作? 谢谢您可以这样做: -(void)test:(CCMenuItemSprite*)item { [item runAction:action]; [[CCDirector sharedDirector] replaceScene:sceneToRun]; } CCScene* sceneToRun = ...; CCMenuItemSprite* item = ...; id action = ...; id changeSceneAct

如何使项目在场景被替换之前完成操作?
谢谢

您可以这样做:

-(void)test:(CCMenuItemSprite*)item
{
    [item runAction:action];
    [[CCDirector sharedDirector] replaceScene:sceneToRun];
}
CCScene* sceneToRun = ...;
CCMenuItemSprite* item = ...;
id action = ...;

id changeSceneAction = [CCCallBlock actionWithBlock:^
{
    [[CCDirector sharedDirector] replaceScene:sceneToRun];
}];

id seqAction = [CCSequence actions:action, changeSceneAction, nil];

[item runAction:seqAction];
假设。。。表示项的创建。如果您使用的是cocos2d 3.0,您可以执行以下操作:

-(void)test:(CCMenuItemSprite*)item
{
    [item runAction:action];
    [[CCDirector sharedDirector] replaceScene:sceneToRun];
}
CCScene* sceneToRun = ...;
CCMenuItemSprite* item = ...;
id action = ...;

id changeSceneAction = [CCCallBlock actionWithBlock:^
{
    [[CCDirector sharedDirector] replaceScene:sceneToRun];
}];

id seqAction = [CCSequence actions:action, changeSceneAction, nil];

[item runAction:seqAction];

希望这能有所帮助。

创建一个序列操作,并在末尾添加runBlock或callFunc操作