2013-11-01 26 views
0

我需要在我的遊戲進入背景之前暫停遊戲,所以當再次涉及到前景時,我會在遊戲中看到暫停對話框。要顯示暫停對話框,我有一個場景方法。如何在應用程序轉到後臺之前調用場景方法?我看到下面的方法是正確的地方:如何在應用程序轉到後臺之前調用場景方法?

-(void) applicationDidEnterBackground:(UIApplication*)application 
{ 
    if([navController_ visibleViewController] == director_) 
     [director_ stopAnimation]; 
} 

如果我只是從導演runningScene得到了現場,將其轉換爲我的場景類,然後發送暫停消息,它還是那條路是醜?

回答

0

在這種情況下,我認爲通知是最乾淨和最安全的選擇。您可以從剛剛發佈applicationDidEnterBackground的通知和接受,無論你想執行像某些動作:

在應用程序委託:

- (void)applicationDidEnterBackground:(UIApplication*)application { 
    [[NSNotificationCenter defaultCenter] postNotificationName:@"EnteringBackground" object:nil]; 
} 

在GameScene:

- (void)onEnter { 
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(showPausePopup) name:@"EnteringBackground" object:nil]; 
} 

- (void)onExit { 
    [[NSNotificationCenter defaultCenter] removeObserver:self]; 
} 

- (void)showPausePopup:(NSNotification*)notification { 
    // Code to show popup 
} 
相關問題