1

首先是一些背景知识:我正在为 Android 和 iPhone 平台开发一款视频游戏。iPhone 的工作方式是,当用户点击主页按钮并稍后返回游戏时,在大多数情况下,游戏会从中断的地方继续,不会出现任何中断。我立即跳回我的渲染和游戏循环。在 iOS 平台上进行设置对我来说非常容易。在与谷歌结果搏斗数小时后,在 Android 上实现这一点让我大发雷霆:P

我在 iPhone 和 Android 上都有自己的 OpenGL 设置,一切都运行良好。我相信问题的根源在于我需要一个 SurfaceHolder 来创建 OpenGL 上下文。这是最糟糕的部分,当屏幕失去游戏的焦点(即按下主页按钮)时,Android 在我的 SurfaceView 类中调用 surfaceDestroyed 并基本上杀死了我的 opengl 上下文。当调用 surfaceCreated 时,我可以使用新的 SurfaceHolder 重新创建一个新的,但是我需要重新加载我所有的艺术资产,这违背了我想要完成的一切的目的。

我能否以某种方式阻止 Android 操作系统杀死我的表面支架,是否可以使用某种自定义视图来使其正常工作?清单中是否有一些设置可以帮助我(我对此表示怀疑,因为我已经彻底测试了大多数标志)?我知道这是可能的,因为愤怒的小鸟在 Android 操作系统上完美地做到了这一点。

4

0 回答 0