按钮 ClickListener 在 LibGDX 游戏中不起作用

Posted

技术标签:

【中文标题】按钮 ClickListener 在 LibGDX 游戏中不起作用【英文标题】:Button ClickListener is not working in LibGDX game 【发布时间】:2012-07-07 13:44:57 【问题描述】:

我正在使用 LibGDX 开发一款 android 游戏。菜单屏幕中有 4 个按钮,但这些按钮中的 ClickListener 不起作用。

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

如何激活LibGDX中某个按钮的ClickListener

【问题讨论】:

【参考方案1】:

您必须将按钮添加到舞台并调用

Gdx.input.setInputProcessor(stage);

【讨论】:

【参考方案2】:

现在它是“点击方法”而不是“点击方法”(我想!),以防万一有人遇到我在发现这个问题时遇到的同样问题:

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

【讨论】:

现在单击它作为方法名称,以小写“c”开头。 另外,现在是startGameButton.addListener

以上是关于按钮 ClickListener 在 LibGDX 游戏中不起作用的主要内容,如果未能解决你的问题,请参考以下文章

自定义按钮的 ClickListener

Android按钮视图绑定ClickListener不起作用

如何在 RecyclerView 适配器中的 ClickListener 上显示 AlertDialog

Android、Layout clicklistener 和 subview 点击问题

如何在 Libgdx 中创建一个按钮?

LibGDX 按钮在触摸时没有响应