使用LibGdx AssetManager正确处理资产

时间:2015-04-20 10:28:00

标签: libgdx assets

我正在制作一款包含几款迷你游戏的游戏。每个迷你游戏都有它自己的屏幕。

现在我在启动应用程序时加载所有资产,而不是每个迷你游戏的特定资产。

我的问题是,使用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
    }

1 个答案:

答案 0 :(得分:0)

好吧,如果我是你,我会在你的GdxAssetManager中创建一个方法(我猜它是你自己定制的),这有助于选择在哪个屏幕上加载哪些资产。

例如:

public void loadAssets(int screen) {

if(screen ==1)
//...Load assets
if(screen ==2)
//...Load different Assets

}

dispose()

也是如此

只做manager.clear()

这是一个非常好的阅读来源:Here

相关问题