java - 如何使用 libgdx assetmanager 正确加载纹理

标签 java android libgdx

这是将纹理正确加载到 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/

相关文章:

java - 我需要在 jboss 运行后保留一个值。我需要在tomcat启动之前使用

java - 使用Selenium + Java机器人+剪贴簿下载完整的网页

android - 问题轮换安卓

java - Libgdx(输入)按键似乎跳过了一些东西

java - RoboVM 错误 - dyld : Library not loaded

Java BFS 算法 - 尝试在 JPanel 上绘制节点

java - 如何在android中实现手绘图片裁剪?

java - libgdx 中的线程化和移动 Sprite 的一般问题

android - "Scrapped or attached views may not be recycled"因为支持 lib 25.0.0

java - 安卓动态壁纸——原力人像