Iphone Cocos2d,我忘了延迟场景的命令是什么

Iphone Cocos2d,我忘了延迟场景的命令是什么,iphone,objective-c,ios,xcode4,cocos2d-iphone,Iphone,Objective C,Ios,Xcode4,Cocos2d Iphone,我希望游戏结束的场景在几秒钟内不会出现,这样你就可以看到你是如何死去的。我记得不久前做过这件事,但我一辈子都记不起来了 GameOverScene *gameOverScene = [GameOverScene node]; [gameOverScene.layer.label setString:@"You Lose"]; [[CCDirector sharedDirector] replaceScene:gameOverScene];

我希望游戏结束的场景在几秒钟内不会出现,这样你就可以看到你是如何死去的。我记得不久前做过这件事,但我一辈子都记不起来了

        GameOverScene *gameOverScene = [GameOverScene node];
        [gameOverScene.layer.label setString:@"You Lose"];
        [[CCDirector sharedDirector] replaceScene:gameOverScene];         

非常感谢

使用NSObject的
[自执行选择器:@selector(gameOver)with object:nil afterDelay:5]并在新方法GameOver中替换场景:

- (void)gameOver
{
    GameOverScene *gameOverScene = [GameOverScene node];
    [gameOverScene.layer.label setString:@"You Lose"];
    [[CCDirector sharedDirector] replaceScene:gameOverScene];
}

解决方案可能是安排一个选择器来执行您的操作:

[[CCScheduler sharedScheduler] scheduleSelector:@selector(myMethod:) forTarget:self interval:2.0f paused:[[CCDirector sharedDirector] isPaused]];
以及您的方法实现:

- (void)myMethod:(ccTime)dt
{
    [[CCScheduler sharedScheduler] unscheduleSelector:_cmd forTarget:self];

    //your actions here
    GameOverScene *gameOverScene = [GameOverScene node];
    [gameOverScene.layer.label setString:@"You Lose"];
    [[CCDirector sharedDirector] replaceScene:gameOverScene];
}

我希望这能有所帮助。

没有得到你真正需要的东西。还是建议这两个……试试看

[self performSelector:@selector(showGameOverScene) withObject:nil afterDelay:2.0f];
以时间代替:

[[CCDirector sharedDirector] replaceScene:[CCTransitionFade transitionWithDuration:1.0 scene:[GameOverScene scene] withColor:ccWHITE]];

等待是[self-performSelector:@selector(gameOver)with object:nil afterDelay:5];实际的命令?它是来自NSObject的一个方法,所以每个对象都有它。我认为如果这不是一个无效的方法,它会工作,但我相信你在正确的轨道上。这似乎会工作,但我得到的错误+场景不是found@user1543821嗯,好的,用[GameOverScene节点]代替[GameOverScene场景]。