我正在使用Cocos2D爲iOS編寫遊戲。我已經實現了一個暫停功能,允許用戶根據要求暫停菜單。當我收到一個applicationWillResignActive
時,我還實現了一個完整的暫停(不定期主遊戲循環)。在applicationWillEnterForeground
和applicationDidBecomeActive
我恢復主遊戲循環,但隨後將播放器放入暫停菜單,強制它們在準備就緒時恢復。除了一種情況之外,一切似乎都運作良好。當收到日曆事件警報(我認爲這是一個UIAlert)時,遊戲不會拋出暫停菜單或暫停遊戲。檢測UIAlert /通知
我的三個問題:我必須同時包括willEnterForeground
和didBecomeActive
,或者對我的目的來說足夠好嗎?我必須安排接受UIAlerts的電話是什麼(如果這實際上是觸發我在上述情況下的錯誤),我應該如何處理?有什麼方法來模擬UIAlert,以便我可以測試/調試?
非常感謝。
編輯 -
的問題是在我的整體操控性的說事件。在蘋果的文檔中清楚地指出,使用willResignActive
暫停遊戲(即拋出暫停菜單並停止遊戲循環),並使didEnterForeground
恢復遊戲循環,但保持暫停菜單。通過這種方式處理事件,不需要安排接收UIAlerts或本地/遠程通知。
我認爲這是'UIApplicationDelegate'中'applicationWillResignActive:'的恰當用法,雖然我並不積極,但文檔不是100%清晰的。它只是指出:「這可能發生在某些類型的臨時中斷(例如來電或SMS消息)或用戶退出應用程序並開始過渡到後臺狀態時。」 – 2013-02-26 21:56:35
我同意,這非常含糊。此外,我不知道我是否應該設置觀察員接收本地/遠程通知或不......不清楚。 – Clev3r 2013-02-26 22:02:02
你不需要一個觀察者,而是一個實現這個消息的UIApplicationDelegate(通常是AppDelegate類)。如果您不確定,只需實現所有委託消息並設置斷點或添加日誌記錄,以便知道何時收到哪些消息。 – LearnCocos2D 2013-02-26 22:07:42