从android中的另一个类加载纹理

时间:2014-09-09 23:39:28

标签: java android intellij-idea libgdx

我正在使用libgdx和IntelliJ开发Android游戏。在这个游戏中,我有两个“屏幕”,这些屏幕使用相同的纹理作为背景,这就是我加载它们的方式:

    Texture backgroundTexture;
    public static Sprite backgroundSprite;

    backgroundTexture = new Texture("textures/background.png");
    backgroundSprite = new Sprite(backgroundTexture);

这是在两个屏幕中完成的,所以我的问题是,我可以在另一个类中加载这些纹理,然后以某种方式在两个屏幕中使用它们,我觉得这样做是可行的,我是否正确?如果我走在正确的轨道上,应该如何实施?

1 个答案:

答案 0 :(得分:2)

您可以按自己的方式使用AssetLoader加载资产。它只是一个类,它在应用程序启动时被调用,因为事实是你应该避免在一切运行时加载资产。它只是一个带静态东西的简单类。

public class AssetLoader {

    public static Texture myBackgroundTexture;

    public static void Load() {
        myBackgroundTexture = new Texture("mybgs/my_bg_texture.png");
    }

让我们在应用程序启动时调用AssetLoader.Load(),你可以在任何地方引用你的东西:

Texture thisScreenBg = AssetLoader.myBackgroundTexture;