我有兩個clases,一個用於主要方法,另一個用於飛濺。但是,這兩者之間的切換不起作用。我想在Splash類中繪製圖像,但它瞬間變黑。當我將代碼從splash轉移到main類時,圖像出現了。在LibGDX中設置新屏幕
主要類:
public class Main extends Game {
public static int WIDTH, HEIGHT;
public void create() {
WIDTH = Gdx.graphics.getWidth();
HEIGHT = Gdx.graphics.getHeight();
setScreen(new Splash());
}
public void render() { }
public void dispose() { super.dispose(); }
public void pause() { super.pause(); }
public void resize(int width, int height) { super.resize(width, height); }
public void resume() { }
}
飛濺類:
public class Splash implements Screen {
private Sprite splash;
private SpriteBatch sb;
public void show() {
sb = new SpriteBatch();
Texture splashTexture = new Texture(Gdx.files.internal("res/img/splash.png"));
splash = new Sprite(splashTexture);
splash.setSize(Main.WIDTH, Main.HEIGHT);
Gdx.gl.glClearColor(0, 0, 0, 1);
}
public void render(float delta) {
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
sb.begin();
splash.draw(sb);
sb.end();
}
public void resize(int width, int height) { }
public void resume() { }
public void dispose() { }
public void hide() { }
public void pause() { }
}
任何想法,什麼可能導致飛濺類不渲染圖像的問題?
更新1:我發現,那飛濺類中的渲染()方法,甚至不被調用(但show()方法一樣)
謝謝你的提示,但我已經想通了。我沒有在主類中調用'super.render()'。所以把它放在那裏解決了它。 無論如何,你的解決方案似乎也能工作。 – ViliX64