CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Help libgdx changement screens

Lynert
Lynert
Niveau 1
04 août 2013 à 01:25:51

Salut,

J'ai un petit soucis avec libgdx

TypingGame.java

public class TypingGame extends Game {

TypingGame game;

GameScreen gameScreen;
GameOverScreen gameOverScreen;

@Override
public void create() {

gameScreen = new GameScreen();
gameOverScreen = new GameOverScreen(game);

Texture.setEnforcePotImages(false);
setScreen(new GameScreen()); // Default screen : Gamescreen

}

}
Je voudrais pouvoir changer le screen actuel avec setScreen; voilà comment j'ai fais :

GameScreen.java

public class GameScreen implements Screen, InputProcessor{

private World world;
private WorldRenderer renderer;
private WorldController controller;
TypingGame game;

@Override
public void render(float delta) {

Gdx.gl.glClearColor(0.5f, 0.1f, 0.1f, 1);
Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT);
Timer.elapsedTime(delta);
renderer.render(delta);
controller.update(delta);

if(Player.health == 0) game.setScreen(new GameOverScreen(game)); // If the player died, switch to GameOverScreen
}

// And so on...
GameOverScreen.java

public class GameOverScreen implements Screen{

TypingGame game;
GameScreen gameScreen;

public GameOverScreen(TypingGame game){
this.game = game;
gameScreen = new GameScreen();
}

@Override
public void render(float delta) {

Gdx.gl.glClearColor(0.5f, 0.1f, 0.1f, 1);
Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT);

}

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

}

@Override
public void show() {

}

@Override
public void hide() {

}

@Override
public void pause() {

}

@Override
public void resume() {

}

@Override
public void dispose() {

}
}

Je comprends pas d'où vient cette erreur :

Exception in thread "LWJGL Application" com.badlogic.gdx.utils.GdxRuntimeException: java.lang.NullPointerException
at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1
.run(LwjglApplication.java:113)

Caused by: java.lang.NullPointerException

Normalement c'est plutôt simple à utiliser mais la seule classe où je peux utiliser setScreen sans que ça bug c'est ... TypingGame.java mais c'est pas là où j'en ai besoin.

Merci beaucoup de votre aide, je suppose que le code est pas très lisible je vous invite donc à consulter mon post sur stackoverflow, c'est plus agréable à lire.

http://stackoverflow.com/questions/18037852/libgdx-setscreen-nullpointer-exception

Merci ;)

Lynert
Lynert
Niveau 1
04 août 2013 à 02:50:56

On m'a répondu sur stackoverflow. Merci quand même.

Sous forums
  • Aide à l'achat Mac
  • Macintosh
  • Création de Jeux
  • Programmation
  • Création de sites web
  • Linux
  • Internet
  • Steam Deck
  • Hardware
La vidéo du moment