这是将纹理正确加载到 AssetManager
中的方式吗?
Texture tex;
AssetManager manager = new AssetManager();
manager.load("menu/bg.png",Texture.class);
tex = manager.get("menu/bg.png",Texture.class);
纹理加载失败,出现错误“无法加载纹理菜单/bg.png”。
我们应该如何使用 AssetManager
加载纹理?
最佳答案
这几乎就是 AssetManager 应该如何使用,但不完全是这样。 我建议阅读关于 libgdx AssetManager 的 wiki .
几点:
该变量应采用驼峰式命名,因此 AssetManager manager... 而不是 AssetManager Manager。
您需要调用manager.update()
;实际上让它加载东西。这将需要调用直到 manager.update()
;返回 true,则加载完成。因此,您可以制作一个加载屏幕,在其中调用 manager.update();
每一帧,当它返回 true 时,您可以切换到其他屏幕。
如果您只想加载所有内容,并在加载之前阻塞,请在尝试从管理器获取任何内容之前调用 manager.finishLoading();
。
您可能必须在 assets
文件夹中创建一个名为 data
的文件夹,并将您的 Assets 放在那里,而不是直接将它们放在 Assets 文件夹中。因此,将您的 Assets 放在 mygame-android\assets\data
而不是 mygame-android\assets
中。
如果您使用 gdx-setup-gui 来创建您的项目,您应该没问题。但如果没有,您的桌面项目也需要知道在哪里可以找到 Assets 。
关于如何创建 animated, responsive loading screen with libgdx 的示例. ( video )
关于java - 如何使用 libgdx assetmanager 正确加载纹理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12391518/