第二次后不显示LibGDx图像

时间:2013-11-30 22:43:44

标签: java android image opengl-es libgdx

从一段时间以来,我开始遇到以下问题。我通过AssetManager播放加载文件的级别并显示图像。我完成了关卡,它卸载了文件。当我再次玩水平时,它只显示堡垒,玩家,敌人,子弹但它停止显示其余的图像,如地面,背景,树木等,而不是它显示我白色的纯色。

然而就在现在,我没有从AssetManager ground = manager.get("environment/fields_ground.png");获取纹理,而是将所有内容更改为创建ground = new Texture("environment/fields_ground.png");等新对象,并且不会产生此错误。我猜有些不对劲或缺失。

Everything is fine It doesn't display rest of the images properly

它实际上只是白色平原,但是当我创建地面作为新纹理而不是使用AssetManager时,它就像在图片上一样。我不卸载玩家图像,箭头,但我卸载堡垒,但问题似乎并没有影响它。我假设AssetManager发生了一些错误,或者无法正确清除屏幕并批量生成新图像。但文件加载正常,否则会抛出错误。它初始化图像,否则会出现错误,并且第一次正确显示图像。

1 个答案:

答案 0 :(得分:1)

我犯了一个愚蠢的错误,我没有注意到,因为我有太多的课程要看。错误在于我处理了地面,背景和其他物体。在我完成关卡之后,它调用了处理这些东西的方法,然后我再次玩了一个级别并且它装载了所处理的东西。因此,它引起了这个问题。

问题是:

ground.dispose();
background.dispose();
textureEnvironment.dispose();

解决方案: 删除这些代码行。