Cocos2d,我忘记了延迟场景的命令

时间:2012-07-26 08:57:21

标签: iphone objective-c ios xcode4 cocos2d-iphone

我希望场景中的游戏不会显示几秒钟,这样你就可以看到你的死亡。我记得有一段时间这样做,但我不记得我的生活。

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

真的很感激。

3 个答案:

答案 0 :(得分:1)

使用NSObject的[self performSelector:@selector(gameOver) withObject:nil afterDelay:5];并替换新方法GameOver中的场景:

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

答案 1 :(得分:0)

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

[[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];
}

我希望这会有所帮助。

答案 2 :(得分:0)

没有得到你需要的东西。仍然建议这两个......。

[self performSelector:@selector(showGameOverScene) withObject:nil afterDelay:2.0f];

替换为时间:

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