LibGDX 中的 AssetManager

2023-11-24

我正在尝试使用AssetManagerLibGDX 中的类,我了解它是如何工作的,但我正在尝试实现一个加载屏幕。我已遵循AssetManagerTest.java file here, 但我很难弄清楚如何让它正常工作。有人能指出我正确的方向吗?我的目标是加载资源(纹理、声音、字体等)并更新屏幕上完成百分比的栏。我不明白ResolutionFileResolverResolution[]在我提供的链接中。它们是做什么用的?我的目标是支持一个静态类,它可以让我从任何屏幕访问游戏中所需的所有资源。有没有首选方法来做到这一点?谢谢。


查看源码后解析文件解析器以及其他“解析器”,我认为这只是加载最适合屏幕分辨率的纹理的一种方式,但匹配仅基于文件名模式。

So in AssetManagerTest,他有适合屏幕尺寸 320x480、480x800 和 480x854 的纹理。看起来每组纹理应该位于名为“.320480”或“.480800”或“.480854”的目录中(尽管名称可以是您想要的任何名称,例如“低”,“高”和“宽”如果这些是您的目录),并且他在创建解析器数组时指定了所有这些信息line 56测试的。

做所有这些事情的好处是,当他打电话时manager.load(),他只是选择一个文件名,如“data/animation.png”。然后解析器找到与当前屏幕分辨率最匹配的纹理包,并加载该纹理包。

我认为示例的其余部分应该非常清楚,至少对于基础知识而言AssetManager。创建管理器,设置加载器,调用load(), call get()使用它,然后调用unload()完成后。

要更新进度条,您只需在每次调用加载后手动执行此操作。

使用静态类进行资产管理当然是一种可能性。另一个类似的选项是仅使用单例。它有它的讨厌者,但我认为在垃圾收集环境中的一个简单项目中应该没问题,尽管它与公共静态大致相同。

另一种选择(也许是最好的?)是使用具有游戏全局变量的静态副本的基类,然后所有其他游戏类都继承它。这是Replica Island 中使用的方法。请参阅基类对象注册表。 Replica Island 的 Android 和 Java 游戏得到了很好的评论,值得一试。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

LibGDX 中的 AssetManager 的相关文章

随机推荐