LIbgdx - 为什么AssetManager无法正常工作?

时间:2015-04-22 13:40:12

标签: java libgdx 3d-model asset-management

我曾尝试使用Asset Manager加载一些资产。一切都很好,除了一部分。 这是我的代码

我的AssetHandler类(包含assetManager)

public class AssetHandler {
    public static AssetManager manager;

    public static String wallFile = "3d/wall.g3db";
    public static String floorFile = "3d/floor.g3db";
    public static String stairsFile = "3d/stairs.g3db";
    public static String characterFile = "3d/character.g3db";

    public static void load() {
        manager = new AssetManager();

        manager.load(wallFile, Model.class);
        manager.load(floorFile, Model.class);
        manager.load(stairsFile, Model.class);
        manager.load(characterFile, Model.class);

    }

    public static void dispose() {
        manager.clear();
        manager.dispose();
    }

    public static void dispose(String fileName) {
        manager.unload(fileName);
    }

}

当我尝试使用该文件时,我写道:

 model = AssetHandler.manager.get(AssetHandler.characterFile, Model.class);
 model = AssetHandler.manager.get(AssetHandler.wallFile, Model.class);

一切正常但字符文件没有 其他文件可以,但只有这一个文件

请帮助我不明白为什么 没有错误/异常加速

1 个答案:

答案 0 :(得分:2)

解决方案:

添加

manager.finishLoading();

load方法的末尾。

如果要异步执行,则应在渲染循环中使用manager.update()

有关详细信息,请参阅this

尽量避免使用公共字段和静态方法。(与问题无关)。