Java 加载屏幕Libgdx Assetmanager
尝试创建加载屏幕时,我有一个Java 加载屏幕Libgdx Assetmanager,java,android,libgdx,Java,Android,Libgdx,尝试创建加载屏幕时,我有一个Assets类和一个LoadingScreen类,该类立即从以下位置调用: this.setScreen(new LoadingScreen(this)); 在加载屏幕上,我有以下内容: public class LoadingScreen implements Screen{ final Game1 game; Sprite LdScreen; OrthographicCamera camera; public LoadingSc
Assets
类和一个LoadingScreen
类,该类立即从以下位置调用:
this.setScreen(new LoadingScreen(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()
为true,则应该加载,对吗?
为什么这是个问题?这个简单的例子
.//添加到您的类Game1中
可变类
private AssetManager yourAssetManager;
创建方法
yourAssetManager = new AssetManager();
获取集方法
public AssetManger getManger(){
return this.yourAssetManager;
}
使用AssetManager.load(..)加载资产
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));
}
}
阅读此链接,我现在不是测试抱歉
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));
}
}