2010-07-24 32 views
1

我正在製作一個相對簡單的基於OpenGL ES的iPhone遊戲。在iPhone 4上進行測試時,我注意到多任務不能「工作」。具體來說,應用程序在進入後臺狀態時會自動終止(我認爲這是由於在後臺進行OpenGL調用和/或不釋放某些資源)。由於遊戲非常簡單... 20-30級別(每級約1分鐘)...我想知道:在這種情況下,多任務真的很重要嗎?多任務對於簡單的iPhone遊戲真的很重要嗎?

整個遊戲是基於OpenGL和用戶界面是非常快......所以終止應用程序,重裝它,並通過幾個屏幕步進不似乎是一個大問題。你怎麼看?在這種情況下,支持多任務真的很重要嗎?

+4

在文檔中明確指出,您在後臺進行任何OpenGL ES調用時都是禁止的(http://developer.apple.com/iphone/library/documentation/iphone/conceptual/iphoneosprogrammingguide/BackgroundExecution/BackgroundExecution。 HTML)。這就是爲什麼你被終止。如果這件事很重要,取決於你... – 2010-07-24 15:15:08

回答

2

如果你希望你的用戶喜歡你,這很重要。你可以做的是暫停比賽並停止任何繪圖調用時,你的應用程序變得

- (void) applicationWillResignActive:(UIApplication *)application

,要麼留暫停或恢復在

- (void)applicationDidBecomeActive:(UIApplication *)application

繪製即使你應該這樣做你的應用程序未在多任務設備上運行,因爲如果您收到推送通知或本地通知,則您的應用程序將處於非活動狀態,您應該暫停遊戲。

2

由於calmh引用文檔,這裏的一段話:

不要做任何的OpenGL ES從 代碼調用。您不得創建任何類型的EAGLContext對象或發出任何OpenGL ES繪圖命令。使用 這些調用將導致您的 應用程序立即終止 。

不知道爲什麼你想在這種情況下繪製。

至於「逐步通過幾個屏幕」......爲什麼不退出當前狀態退出應用程序,並在以後恢復?