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

我怎样才能使项目在场景被替换之前完成动作?谢谢

4

1 回答 1

0

你会做这样的事情:

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,您将执行以下操作:

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

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

[item runAction:seqAction];

希望这可以帮助。

于 2014-05-30T19:53:10.853 回答