gpt4 book ai didi

java - 使用 libgdx 中的 AssetManager 类

转载 作者:行者123 更新时间:2023-12-01 13:14:28 25 4
gpt4 key购买 nike

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

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

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

     //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 类中删除吗?

最佳答案

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

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

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

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