2012-07-07 22 views
13

Estoy desarrollando un juego para Android usando LibGDX. Hay 4 botones en una pantalla de menú, pero el ClickListener de estos botones no funciona.Button ClickListener no funciona en el juego LibGDX

// retrieve the custom skin for our 2D widgets 
Skin skin = super.getSkin(); 

// create the table actor and add it to the stage 
table = new Table(skin); 
table.width = stage.width(); 
table.height = stage.height(); 
stage.addActor(table); 

// retrieve the table's layout 
TableLayout layout = table.getTableLayout(); 

// register the button "start game" 
TextButton startGameButton = new TextButton("Start game", skin); 
startGameButton.addListener(new ClickListener() { 
    @Override 
    public void clicked(InputEvent event, float x, float y) { 
     System.out.println("hiii"); 
     Assets.load(); 
     // game.getSoundManager().play(TyrianSound.CLICK); 
     game.setScreen(new GameScreen(game)); 
    } 
}); 

layout.register("startGameButton", startGameButton); 

Cómo activar el ClickListener de un botón en libgdx?

Respuesta

45

hay que añadir el botón al escenario y llamar

Gdx.input.setInputProcessor(stage); 
13

En lugar de "método de hacer clic en" Ahora es "clic método" (creo!), Por si acaso alguien se enfrenta al mismo problema que estaba frente al encontrar esta pregunta:

startGameButton.addListener(new ClickListener() {    
    @Override 
    public void clicked(InputEvent event, float x, float y) { 
     game.setScreen(new GameScreen(game)); 
    }; 
}); 
+0

Ahora se hace clic en el nombre del método, con una "c" minúscula para comenzar. –

+1

Además, ahora es 'startGameButton.addListener' –