如何在AndEngine中改变场景

时间:2012-09-01 20:28:55

标签: android andengine

我正在开发AndEngine Gles2游戏。我有飞溅场景,加载场景,菜单场景和Level1场景。我正在使用屏幕管理器来管理所有场景,通过它我可以轻松地在启动,加载和菜单场景之间切换,level1场景也从菜单中完美加载但是当我回到菜单场景完成级别,屏幕时出现问题变成黑色,之后没有任何显示。我认为问题在于卸载Level1的资源,因为其他场景之间的切换是完美的。我无法提供完整的代码,因为它很长。

我正在使用bitmapTexture区域,Sprite,body,物理Word,hud和fixtures等。 这是我的卸载方法.. 当我在1级屏幕的末尾加载菜单场景时,还有一件事变成黑色,但播放的音乐和所有日志都显示在我在菜单场景中设置的logcat中。

unload(){
setChildrenIgnorUpdate();
clearChildScene();
clearEntityModifier();
clearTouchAreas();
clearUpdateHandler();
BitmapTextureManager.getInstance().destroyInstance();
destroyPhysics();
}  

请帮助......

2 个答案:

答案 0 :(得分:0)

我认为你的问题在这里

BitmapTextureManager.getInstance().destroyInstance();

当你回到菜单场景时,你是在重新初始化纹理资源吗?因为听起来好像一切正​​常,但你的纹理被破坏了。

答案 1 :(得分:0)

我认为卸载纹理会给你带来麻烦。

根据我的意见,在加载场景时加载游戏的所有图形。然后不要卸载图形。我想说的是只有游戏场景图形每个级别都在变化,只需要卸载并重新加载它。

请勿卸载所有图形并重新加载。只加载一次修复游戏并保留在设备的图形内存中。

图形内存溢出会造成这种异常行为。