根据此 libgdx wiki 页面https://github.com/libgdx/libgdx/wiki/Managing-your-assets OpenGL 资源(如纹理)需要在应用程序暂停后重新加载。
这是我管理 libgdx 应用程序资产的方法
每当我需要使用assetManager.get() 显示splashScreen 时,我都会使用assetManager 加载所有资产
这是我从一开始的代码:
public class GameMain extends Game {
private AssetManager manager;
@Override
public void create() {
manager = new AssetManager();
setScreen(new splashScreen(this));
}
@Override
public void render() {
super.render();
}
@Override
public void pause() {
super.pause();
}
@Override
public void resume() {
super.resume();
}
@Override
public void resize(int width, int height) {
super.resize(width, height);
}
@Override
public void dispose() {
super.dispose();
manager.dispose();
}
public AssetManager getAssetManager() {
return manager;
}
}
闪屏:
public class SplashScreen implements Screen {
GameMain gameMain;
public SplashScreen(GameMain gameMain) {
this.gameMain = gameMain;
}
@Override
public void show() {
loadAssets();
}
public void loadAssets() {
gameMain.getAssetManager().load("example.atlas", TextureAtlas.class);
gameMain.getAssetManager().finishloading();
}
}
我的问题:我应该打电话给manager.update()
每个Screen.resume()
人吗?