我的目標是讓我的遊戲優雅地處理暫時中斷(電話,Siri,短信,主頁按鈕被點擊)。我知道delegate.m文件中的- (void)applicationWillResignActive:(UIApplication *)application
和- (void)applicationDidBecomeActive:(UIApplication *)application
是必需的。但是我不知道如何完成這個任務。我的遊戲在NSTimer
上運行,我還有一個「分數」計時器,背景音樂和一個暫停和播放按鈕。處理遊戲進行到背景
我檢查了答案,但沒有和明確的解釋。我也看到了不尋常的選擇。我想知道最好的編程實踐來完成這件事。我是一個新手編程,所以清楚和準確的解釋(與代碼)將不勝感激。
謝謝。 :)
這些計時器是在遊戲控制器中還是展開在不同的類中?你的暫停/恢復功能是否已經處理了所有的定時器? – Wain
我經常做的事情是,當它執行resignActive時,將BOOL設置爲true,然後在每次循環檢查時都將NSTimer設置爲true,以確保BOOL在運行任何遊戲代碼之前不是真實的。 (但我很好奇當你真的點擊主頁按鈕並關閉一個應用程序似乎「停止」......我不知道蘋果如何做到這一點,我們可以在用戶沒有真正退出應用程序的情況下模擬該代碼嗎?) –
是的,他們在遊戲控制器中。我的暫停和恢復按鈕可處理所有計時器,但是如何將暫停/恢復代碼實施到appDelegate.m中而不會出現錯誤?試圖在appDelegate.m中實現pasue/resume導致錯誤「沒有可見的@interface for'AppDelegate''聲明選擇器'pauseButton'。 – JakeFromStateFarm