J'ai deux classes, une pour les méthodes principales et l'autre pour les splash. Cependant, basculer entre ces deux ne fonctionne pas. Je voulais dessiner une image dans la classe Splash, mais elle est devenue noire instantanément. Et quand j'ai déplacé le code de l'éclaboussure à la classe principale, l'image est apparue.Réglage d'un nouvel écran dans LibGDX
Classe principale:
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() { }
}
classe Splash:
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() { }
}
Toute idée, ce qui pourrait causer le problème de ne pas rendre l'image en classe Splash?
MISE À JOUR 1: Je l'ai découvert, que la méthode render() dans la classe Splash ne sont même pas appelé (mais la méthode show() fait)
Merci pour le conseil, mais je l'ai déjà compris. Je n'ai pas appelé le super.render() dans la classe principale. Donc, le mettre là-dedans l'a résolu. Quoi qu'il en soit, votre solution semble fonctionner aussi bien .. – ViliX64