一个简单的问题,AssetManager
可以在libgdx中加载的资产数量是否有限制?问我问题的最好方法就是向您展示我目前拥有的东西:
因此,在我的游戏开始之前,我正在启动屏幕上加载一堆资产,如下所示:
load();
while(!assetManager.update())
{
System.out.println(assetManager.getProgress() * 100 + "%");
}
问题是它正在完成98%的更新过程,然后再也没有完成,冻结了启动屏幕。我首先想到的是,它试图加载的最后一件事有一个问题。情况并非如此,因为如果我仅删除正在加载的资产之一(与哪个资产无关),它将重新开始工作。这使我认为我的AssetManager达到了一定的限制,无法再加载资产了吗?这些资产不是很大,并且我的模拟器没有显示内存问题。我确定我缺少一些愚蠢的东西,我真的会为您提供一些帮助!谢谢!
这是我的加载方法,该方法只是将我所有的资产添加到AssetManger
中以进行加载。
private void load() {
assetManager.load("data/backgrounds/mainMenu.png", Texture.class);
assetManager.load("data/backgrounds/marketStall.png", Texture.class);
assetManager.load("data/sounds/mainMenuMusic.mp3", Music.class);
assetManager.load("data/sounds/character.mp3", Sound.class);
assetManager.load("data/sounds/backPack.wav", Sound.class);
assetManager.load("data/sounds/book.wav", Sound.class);
assetManager.load("data/sounds/button.wav", Sound.class);
assetManager.load("data/sounds/coin.wav", Sound.class);
assetManager.load("data/sounds/sword.wav", Sound.class);
assetManager.load("data/fonts/black.fnt", BitmapFont.class);
assetManager.load("data/fonts/blackBigger.fnt", BitmapFont.class);
assetManager.load("data/fonts/blackEvenBigger.fnt", BitmapFont.class);
assetManager.load("data/ui/buttons/buttonMainMenu.pack", TextureAtlas.class);
assetManager.load("data/ui/menuSkin.json", Skin.class,
new SkinLoader.SkinParameter("data/ui/buttons/buttonMainMenu.pack"));
assetManager.load("data/ui/settings.json", Skin.class,
new SkinLoader.SkinParameter("data/ui/buttons/settingsPack.pack"));
assetManager.load("data/ui/adventureHub.json", Skin.class,
new SkinLoader.SkinParameter("data/ui/buttons/adventureHubPack.pack"));
assetManager.load("data/ui/assign.json", Skin.class,
new SkinLoader.SkinParameter("data/ui/buttons/assignPack.pack"));
assetManager.load("data/ui/inventory.json", Skin.class,
new SkinLoader.SkinParameter("data/ui/buttons/inventory.pack"));
assetManager.load("data/ui/characters.json", Skin.class,
new SkinLoader.SkinParameter("data/ui/buttons/characters.pack"));
assetManager.load("data/ui/itemPictures.json", Skin.class,
new SkinLoader.SkinParameter("data/ui/buttons/itemPictures.pack"));
assetManager.load("data/ui/adventure.json", Skin.class,
new SkinLoader.SkinParameter("data/ui/buttons/adventure.pack"));
assetManager.load("data/ui/shop.json", Skin.class,
new SkinLoader.SkinParameter("data/ui/buttons/shop.pack"));
}