LibGDX 后渲染到下一个屏幕失败

Rendering to next Screen failed in LibGDX

我有一个大学项目是用 LibGDX 制作关于 smasher 游戏的游戏,我做到了当玩家生命为 0 时,它从 GameScreen [=] 切换到 EndGameScreen class 20=],但这种情况发生了 failed render,其实我也不确定是setScreen方法的问题还是我的EndGameScreen class不对

GameScreen Class

//setScreen in GameScreen 
if (life == 0) { //this is inside the render function
        game.setScreen(game.endGame);
        dispose();
    }
@Override
public void dispose() {
    bg.dispose();
    fontScore.dispose();
    lifes.get(0).dispose();
    lifes.get(1).dispose();
    lifes.get(2).dispose();
    bactery0Arr.clear();
    bactery1Arr.clear();
    bactery2Arr.clear();
}

 

EndGameScreen Class

//EndGameScreen class
public class EndGameScreen implements Screen {
final BacterySmasher game;
OrthographicCamera camera;

public EndGameScreen(final BacterySmasher game) {
    this.game = game;

    //Set camera
    camera = new OrthographicCamera();
    camera.setToOrtho(false, 1280, 720);
}

@Override
public void show() {

}

@Override
public void render(float delta) {
    camera.update();
    game.batch.setProjectionMatrix(camera.combined);
    game.batch.begin();
    game.batch.draw(new Texture(Gdx.files.internal("bg.png")), 0,0,0,0);
    game.batch.end();
}

@Override
public void resize(int width, int height) {

}

@Override
public void pause() {

}

@Override
public void resume() {

}

@Override
public void hide() {

}

@Override
public void dispose() {

}

}

你是在GameScreen的渲染方法中调用dispose()吗?而是在屏幕隐藏时调用。

   @Override
    public void hide() {
        dispose();
    }