加载屏幕Libgdx Assetmanager [英] Loading Screen Libgdx Assetmanager
问题描述
试图建立一个载入画面,我有一个资产
类和 LoadingScreen
类,这是从马上打电话
Trying to create a loading screen, I have a Assets
class and a LoadingScreen
class which is called immediately from:
this.setScreen(new LoadingScreen(this));
在载入画面我有这样的:
At loading screen I have this:
public class LoadingScreen implements Screen{
final Game1 game;
Sprite LdScreen;
OrthographicCamera camera;
public LoadingScreen(Game1 gam){
game=gam;
camera = new OrthographicCamera();
camera.setToOrtho(false, 1920, 1080);
}
public void show() {
Texture LdscreenTexture = new Texture(Gdx.files.internal("data/Background.png"));
LdScreen = new Sprite (LdscreenTexture);
Assets.manager.finishLoading();
}
@Override
public void render(float delta) {
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
camera.update();
game.batch.setProjectionMatrix(camera.combined);
game.batch.begin();
game.batch.draw(LdScreen, 0,0);
game.batch.end();
Assets.manager.update();
if(Assets.manager.update() == true){
game.setScreen(new MainMenuScreen(game));
}
}
但它总是返回和错误,好像它试图移至 MainMenuScreen
类和资产未加载,它应该是,如果 Assets.manager.update()
是真的吗?
为什么这是一个问题吗?
But it always returns and error, as though it tries to move to MainMenuScreen
class and the asset isn't loaded, which it should be if Assets.manager.update()
is true right?
Why is this a problem?
推荐答案
这个简单的例子
.//添加在你的类的Game1
.//Add in your Class Game1
变量类别
private AssetManager yourAssetManager;
创建方法
yourAssetManager = new AssetManager();
获取设置方法
public AssetManger getManger(){
return this.yourAssetManager;
}
public class LoadingScreen implements Screen{
final Game1 game;
Sprite LdScreen;
OrthographicCamera camera;
AssetManager yourAssetManager;
public LoadingScreen(Game1 gam){
game=gam;
this.yourAssetManager = game.getManager();
camera = new OrthographicCamera();
camera.setToOrtho(false, 1920, 1080);
}
public void show() {
使用yourAssetManager.load(....负载资产
Use yourAssetManager.load(.... for load asset
yourAssetManager.load("data/Background.png", Texture.class);
Texture LdscreenTexture = new Texture(Gdx.files.internal("data/Background.png"));
LdScreen = new Sprite (LdscreenTexture);
//Assets.manager.finishLoading();
}
@Override
public void render(float delta) {
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
camera.update();
game.batch.setProjectionMatrix(camera.combined);
game.batch.begin();
game.batch.draw(LdScreen, 0,0);
game.batch.end();
//Assets.manager.update();
if(yourAssetManger.update()){
game.setScreen(new MainMenuScreen(game));
}
}
阅读此链接 https://github.com/libgdx/libgdx/wiki /管理-您资产 I,M不是现在测试遗憾。
read this link https://github.com/libgdx/libgdx/wiki/Managing-your-assets i,m not right now test sorry.
这篇关于加载屏幕Libgdx Assetmanager的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!