【问题标题】:Using the AssetManager class in libgdx在 libgdx 中使用 AssetManager 类
【发布时间】:2014-03-22 20:55:21
【问题描述】:

我正在使用 libgdx 开发平台游戏。 我刚开始使用AssetManager 类。我的游戏有一个 BaseLevel 类,所有其他级别都从它扩展而来。还有一个类为 BaseLevel 加载所有内容,在用户完成第一级后,他将进入下一个级别,依此类推。在我的游戏的所有关卡中,玩家、硬币和敌人都使用相同的纹理。

所以我的问题是:我是否需要在每个关卡开始时使用加载屏幕并在每个关卡隐藏时移除所有东西?或者我只需要使用所有已加载的纹理而不删除它们?

这是我加载所有图集和纹理的方式:

     //Atlases
     game.manager.load("ui/buttonright.pack", TextureAtlas.class);
     game.manager.load("ui/buttonleft2.pack", TextureAtlas.class);
     game.manager.load("ui/jumpbutton.pack", TextureAtlas.class);
     game.manager.load("ui/nextlevel.pack", TextureAtlas.class);
     game.manager.load("ui/menupack.pack", TextureAtlas.class);
     game.manager.load("ui/pausebutton.pack", TextureAtlas.class);
     game.manager.load("ui/resumepack.pack", TextureAtlas.class);
     game.manager.load("ui/restartpack.pack", TextureAtlas.class);


     //Textures
     game.manager.load("img/background2.png", Texture.class);
     game.manager.load("img/background2up.png", Texture.class);

我在所有关卡中都使用了这些纹理和图集,我需要在关卡完成后将它们从 AssetMenager 类中删除吗?

【问题讨论】:

    标签: java android libgdx


    【解决方案1】:

    没有。如果资产由关卡共享,则无需卸载它们。如果要卸载它们,您应该首先加载新关卡的所有资产,然后卸载旧关卡的资产。 AssetManager 确实引用计数,因此两个级别使用的任何资产都将保持加载状态(仅当您加载新的然后卸载旧的,按此顺序)。

    我看到你有一个叫 resumepack.packrestartpack.pack 的东西。如果其中任何一个用于在您的应用程序从暂停中返回时创建重新加载类型的屏幕,您可能希望避免为它们使用 AssetManager。如果您恢复/重新加载屏幕仅使用传统托管资源,那么您可以使用这些资源在恢复时显示进度条或类似内容(假设您使用了Texture.setAssetManager(manager);)。

    【讨论】:

      【解决方案2】:

      卸载所有纹理和图集只需使用

       game.manager.unload("ui/buttonright.pack");
       game.manager.unload("img/background2up.png");
      

      等等

      有关 AssetManager 的更多信息,请使用此链接AssetManager

      【讨论】:

      • 是的,但我的问题是,如果在每个级别之后我需要卸载所有东西,即使我在下一个级别使用它们。
      • 在这种情况下,一个更好的方法是你将你的纹理和图集分类为你在整个游戏中需要的图像和其他具有特定关卡图像的类型。这样您就可以卸载特定关卡的图像并重用这些将在整个游戏中使用的图像
      • 感谢您的重播,对我帮助很大。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-12
      • 1970-01-01
      • 2017-12-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多