【发布时间】:2015-04-20 10:27:59
【问题描述】:
我正在构建一个包含多个小游戏的游戏。每个小游戏都有自己的屏幕。
现在我在启动应用程序时加载所有资产,而不是每个迷你游戏的特定资产。
我的问题是,使用 AssetManager,从一个迷你游戏切换到另一个迷你游戏时,我将如何最好地处置这些资产? manager.dispose() 将不起作用,因为它会处理所有内容,并且仅在应用程序启动时才会加载。
目前我是这样处理的:
atlas = GdxAssetManager.manager.get(GdxAssetManager.runner, TextureAtlas.class);
然后当小游戏结束并返回菜单时,我称之为:
public void dispose(){
for(int i = 0; i < obstacles.size; i++){
obstacles.get(i).dispose(); //unload the assets from each object in this array
}
GdxAssetManager.manager.unload(GdxAssetManager.runner); //unload the atlas in example code above
scoreHandler.dispose(); //unloading object assets
}
【问题讨论】: