gpt4 book ai didi

java - LibGDX 中的 AssetManager

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:51:55 30 4
gpt4 key购买 nike

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

最佳答案

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

所以在 AssetManagerTest 中,他获得了屏幕尺寸为 320x480、480x800 和 480x854 的纹理。看起来每组纹理都应该在名为“.320480”或“.480800”或“.480854”的目录中(尽管名称可以是您想要的任何名称,例如“low”、“high”和“wide”如果这些是你的目录),他在 line 56 上创建解析器数组时指定了所有这些信息的测试。

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

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

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

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

另一种选择——也许是最好的选择?——是使用具有游戏全局变量静态副本的基类,然后所有其他游戏类都继承自它。这是复制岛中使用的方法。查看base classobject registry . Replica Island 受到好评,值得一试 Android 和 Java 游戏。

关于java - LibGDX 中的 AssetManager,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9603907/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com