2012-07-26 66 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