Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 加载屏幕Libgdx Assetmanager_Java_Android_Libgdx - Fatal编程技术网

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));
        }
}