【问题标题】:LIbgdx - Why is AssetManager not working?LIbgdx - 为什么 AssetManager 不工作?
【发布时间】:2015-06-30 05:16:24
【问题描述】:

我尝试使用 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);

一切正常,但字符文件不起作用 其他文件有,但只有这一个文件没有

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

【问题讨论】:

  • 你在哪里打电话给manager.update()?如果您不调用它,manager 将不会继续加载Assets。其他 3 个文件可能非常小并且“立即”加载,而第 4 个文件更大,或者只是所有 4 个文件都太大而无法“立即”加载,因此不会加载一个。
  • 还可以考虑更新或回答您的其他问题。这个解决方案也应该解决你其他问题的问题。
  • @Springrbua 在收到令人困惑的 cmets 之后,我已经对assetManager 部分进行了很多更改,所以这个问题与其他问题完全无关,谢谢提醒
  • 对该问题只有一条评论,并且该评论与此处接受的解决方案相似。此外,这里的问题和另一个问题中的问题基本相同,您从未调用过AssetManager#updateAssetManager#finishLoading。所以我想这些问题是相关的,你可能会考虑更新或回答它。它可能会在未来帮助其他人。谢谢

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


【解决方案1】:

解决办法:

添加

manager.finishLoading();

load 方法的末尾。


如果你想异步处理,你应该在渲染循环中使用manager.update()

请参阅this 了解更多信息。


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

【讨论】:

  • 为什么要避免静态方法,想做静态,因为我不再需要每屏创建一个实例
  • 您可以在所有屏幕之间共享实例。拥有 Game 对象的一个​​实例将允许您推断何时调用 dispose 方法。
  • @TanmayPatil 请看看我的问题stackoverflow.com/questions/36586597/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多