2012-07-26 48 views
2

我希望游戏结束后不会出现几秒钟,这样你才能真正看到你是如何死的。我记得有一段时间这样做,但我不记得我的生活。Cocos2d,我忘了命令是什么延迟了一个场景

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

真的很感激它。

回答

0

没有得到你所需要的。仍表明这些two..try

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

随时间替换为:

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

这看起来像它会工作,但我得到错误+场景未找到 – user1543821 2012-07-26 09:37:45

+0

@ user1543821嗯,可以使用[GameOverScene场景]的[GameOverScene节点]。 – Guru 2012-07-26 11:41:16

+0

其实我忘了添加+(id)感谢tho – user1543821 2012-07-26 16:46:48

1

使用NSObject中的和新方法GAMEOVER更换场景:

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

等待是[自performSelector:@selector(GAMEOVER)withObject:无afterDelay:5];实际的命令? – user1543821 2012-07-26 09:05:06

+0

它是NSObject的一个方法,所以每个对象都有它 – zeiteisen 2012-07-26 09:08:57

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

我希望这有助于。

+0

我认为它会工作,如果这不是一个无效的方法,但我相信你在正确的轨道上。 – user1543821 2012-07-26 09:22:12