1

我正在制作一个相对简单的基于 OpenGL ES 的 iPhone 游戏。在 iPhone 4 上进行测试时,我注意到多任务处理不起作用。具体来说,应用程序在进入后台状态时会自动终止(我认为这是由于在后台进行 OpenGL 调用和/或未释放某些资源)。由于游戏非常简单... 20-30 个短关卡(每关大约 1 分钟)... 我想知道: 在这种情况下,多任务处理真的很重要吗?

整个游戏都是基于 OpenGL 的,UI 非常简洁……所以终止应用程序、重新加载它并逐步浏览几个屏幕似乎没什么大不了的。你怎么看?在这种情况下,支持多任务处理真的很重要吗?

4

2 回答 2

2

当冷静引用文档时,以下是段落:

不要从您的代码中进行任何 OpenGL ES 调用。您不得创建 EAGLContext 对象或发出任何类型的 OpenGL ES 绘图命令。使用这些调用将导致您的应用程序立即终止。

不知道你为什么要在那种情况下画画。

至于“通过几个屏幕”......为什么不在退出应用程序时保存当前状态并在以后恢复呢?

于 2010-07-24T15:23:59.683 回答
2

如果您希望用户喜欢您,这很重要。您可以做的是暂停游戏并在您的应用程序获取时停止任何绘图调用

- (void) applicationWillResignActive:(UIApplication *)application

并保持暂停或继续绘制

- (void)applicationDidBecomeActive:(UIApplication *)application

即使您的应用程序没有在多任务设备上运行,您也应该这样做,因为如果您收到推送通知或本地通知,您的应用程序将处于非活动状态,您应该暂停游戏。

于 2010-07-24T16:29:34.917 回答