我正在开发AndEngine Gles2游戏。我有飞溅场景,加载场景,菜单场景和Level1场景。我正在使用屏幕管理器来管理所有场景,通过它我可以轻松地在启动,加载和菜单场景之间切换,level1场景也从菜单中完美加载但是当我回到菜单场景完成级别,屏幕时出现问题变成黑色,之后没有任何显示。我认为问题在于卸载Level1的资源,因为其他场景之间的切换是完美的。我无法提供完整的代码,因为它很长。
我正在使用bitmapTexture区域,Sprite,body,物理Word,hud和fixtures等。 这是我的卸载方法.. 当我在1级屏幕的末尾加载菜单场景时,还有一件事变成黑色,但播放的音乐和所有日志都显示在我在菜单场景中设置的logcat中。
unload(){
setChildrenIgnorUpdate();
clearChildScene();
clearEntityModifier();
clearTouchAreas();
clearUpdateHandler();
BitmapTextureManager.getInstance().destroyInstance();
destroyPhysics();
}
请帮助......
答案 0 :(得分:0)
我认为你的问题在这里
BitmapTextureManager.getInstance().destroyInstance();
当你回到菜单场景时,你是在重新初始化纹理资源吗?因为听起来好像一切正常,但你的纹理被破坏了。
答案 1 :(得分:0)
我认为卸载纹理会给你带来麻烦。
根据我的意见,在加载场景时加载游戏的所有图形。然后不要卸载图形。我想说的是只有游戏场景图形每个级别都在变化,只需要卸载并重新加载它。
请勿卸载所有图形并重新加载。只加载一次修复游戏并保留在设备的图形内存中。
图形内存溢出会造成这种异常行为。