0

几天前,我开始开发我的第一个安卓游戏。我选择使用 OpenGL ES 2.0,因为它是最熟悉的替代方案。但是,我目前无法在真实设备上测试游戏,所以我决定改用 AVD,使用安装了 Intel HAXM 的 4.0.3 虚拟设备。这似乎工作得很好,但我现在遇到了一个非常奇怪的问题。

从 Eclipse 编译和运行游戏时,它工作得很好。但是,如果我再次运行游戏,无论是通过 AVD 还是从 Eclipse,除了背景颜色之外什么都没有绘制。如果我更改代码中的任何内容以使 Eclipse 必须重新编译应用程序,那么一切都会再次正常运行,但仅在第一次运行期间。

我不知道是怎么回事。如果我不得不猜测,我会说 AVD 以某种方式出现了问题,但有人知道解决这个问题的方法吗?如果需要,我会提供相关的源代码,但由于我不知道是什么导致了这种问题,所以我现在无法提供。

4

2 回答 2

1

您是否有任何代码正在保存或加载不起作用的应用程序状态。也许通过 onCreate/onStart/onPause 函数?当您暂停或关闭被错误读回的应用程序时,也许您正在写一些状态?调用 Application->Clear Data 将重置此状态,除非您正在写入公共区域,例如 sd 卡。

于 2012-08-01T00:13:15.777 回答
0

当应用程序暂停时,似乎纹理被删除了,这导致它没有在屏幕上绘制任何东西。在函数中重新加载纹理onResume解决了这个问题。

于 2012-08-01T00:52:25.533 回答