2017-09-18 3 views
0

Je ne suis pas nouveau sur libgdx, mais quand j'ai fini avec mon projet universitaire précédent et que j'ai commencé un nouveau, Android studio ou IDEA ne peut pas résoudre la méthode setScreen, d'autres choses fonctionnent bien. Des idées ? Espérer de l'aide. (projet absolument clair).Impossible de résoudre la méthode setScreen()

+0

Pourriez-vous nous montrer le code qui donne vous cette erreur comme ceci pourrait être n'importe quoi d'une erreur de syntaxe aux fichiers de source manquants. – dfour

+0

C'est juste un projet vide. Rien de plus. – BlackRock

Répondre

0

La création d'un projet dans LibGdx vous donne votre fichier principal qui implémente le ApplicationListener.

Ce que je comprends que vous faites allusion est d'étendre la classe Game avec avec vous définir Screen classes avec.

Avec le ApplicationListener.

public class HelloWorld implements ApplicationListener { 
    private SpriteBatch batch; 
    private BitmapFont font; 

    @Override 
    public void create() {   
     batch = new SpriteBatch();  
     font = new BitmapFont(); 
     font.setColor(Color.RED); 
    } 

    @Override 
    public void dispose() { 
     batch.dispose(); 
     font.dispose(); 
    } 

    @Override 
    public void render() {   
     Gdx.gl.glClearColor(1, 1, 1, 1); 
     Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT); 

     batch.begin(); 
     font.draw(batch, "Hello World", 200, 200); 
     batch.end(); 
    } 

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

    @Override 
    public void pause() { 
    } 

    @Override 
    public void resume() { 
    } 
} 

Qu'est-ce que vous êtes après: (extrait de https://github.com/libgdx/libgdx/wiki/Extending-the-simple-game)

public class Drop extends Game { 

    public SpriteBatch batch; 
    public BitmapFont font; 

    public void create() { 
     batch = new SpriteBatch(); 
     //Use LibGDX's default Arial font. 
     font = new BitmapFont(); 
     this.setScreen(new MainMenuScreen(this)); 
    } 

    public void render() { 
     super.render(); //important! 
    } 

    public void dispose() { 
     batch.dispose(); 
     font.dispose(); 
    } 

} 

Ce qui vous permet de changer les écrans à chaque fois que vous avez besoin:

public class MainMenuScreen implements Screen { 

    final Drop game; 

    OrthographicCamera camera; 

    public MainMenuScreen(final Drop game) { 
     this.game = game; 

     camera = new OrthographicCamera(); 
     camera.setToOrtho(false, 800, 480); 

    } 


     //...Rest of class omitted for succinctness. 

}