Button ClickListener is not working in LibGDX game

倾然丶 夕夏残阳落幕 提交于 2019-11-28 02:37:20

问题


I am developing an Android game using LibGDX. There are 4 buttons in a menu screen, but the ClickListener of these buttons is not working.

// 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 );

How to activate the ClickListener of a button in LibGDX?


回答1:


You have to add the button to the stage and call

Gdx.input.setInputProcessor(stage);



回答2:


Instead of "click method" now it's "clicked method" (I think!), just in case someone faces the same problem I was facing when found this question:

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


来源:https://stackoverflow.com/questions/11373390/button-clicklistener-is-not-working-in-libgdx-game

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!