LibGdx 纹理在游戏中加载并将其用于各种侦听器
您好,我正在使用 libgdx 开发游戏。我想让纹理对象可供整个应用程序使用。我有一个要求,例如在一个应用程序侦听器中初始化纹理,并且我想在另一个应用程序侦听器中使用它。谁能帮我解决这个问题。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
您好,我正在使用 libgdx 开发游戏。我想让纹理对象可供整个应用程序使用。我有一个要求,例如在一个应用程序侦听器中初始化纹理,并且我想在另一个应用程序侦听器中使用它。谁能帮我解决这个问题。
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(2)
我认为有两种方法可以做到这一点。首先,您可以将数据读入静态变量。有关示例,请查看 Metagun 演示中的 Art 类:Art.java。第二种方法,我还没有尝试过,是使用新的 AssetManager 类。 AssetManager 测试。这些应该可以帮助您更轻松地访问纹理。
There are two ways I think you can do this. First, you could read the data into a static variable. For an example of this, take a look at the Art class in metagun demo: Art.java. The second way, which I have not tried yet, is to use the new AssetManager class. There is example use in the AssetManager test. These should help you access your textures more easily.
您不需要有 2 个或更多应用程序侦听器。事实上,这只会让事情变得更困难。
使用 屏幕 代替(扩展 Game 在你的核心类中而不是直接实现应用程序侦听器)。
无论哪种方式,您应该能够仅将纹理作为参数发送。例如,我有一个包含所有纹理的 Assets 类,我将其发送到每个屏幕。您也可以按照 Doran 的建议将它们设为静态。
You don't need to have 2 or more Application listeners. Actually that only makes things harder.
Use Screens instead (extending Game in your core class instead of directly implementing ApplicationListener).
Either way, you should be able to just send the textures as arguments. For example I have a class Assets that contains all the textures and I sent it to each screen. You can make them static as Doran suggested too.