【问题标题】:ImageButton doesn't seem to detect clicks (Scene2d.ui)ImageButton 似乎没有检测到点击(Scene2d.ui)
【发布时间】:2012-05-10 07:23:29
【问题描述】:

当尝试在舞台上放置一个简单的 ImageButton 时,它似乎没有检测到点击。

ImageButton btnStart = new ImageButton(ButtonArt.UP, ButtonArt.DOWN));

// btnStart.setClickListener(new ClickListener() {
//          @Override
//          public void click(Actor a, float arg1, float arg2) {
//             a.visible = false;
//          }
//       });

stage.addActor(btnStart);

ButtonArt.UP 和 ButtonArt.DOWN 是每个状态的 TextureRegions。 现在,当我单击按钮时,它不会改变状态!我也尝试了上面的 ClickListener(用于测试),但似乎也没有用。

在我的渲染方法中,我只调用 stage.act() 和 stage.render()。 我还尝试在我的渲染方法中使用 SpriteBatch 绘制 TextureRegions,它们实际上是不同的纹理。

我是不是做错了什么?

【问题讨论】:

    标签: java user-interface libgdx stage


    【解决方案1】:

    您需要将舞台设置为您的输入处理器:

    Gdx.input.setInputProcessor(stage);
    

    如果您需要多个输入处理器(例如,您需要在场景外注册点击),则需要使用 InputMultiplexer,如下所示:

    InputMultiplexer plex = new InputMultiplexer();
    plex.addProcessor(myOtherProcessor);
    plex.addProcessor(stage);
    Gdx.input.setInputProcessor(plex);
    

    【讨论】:

    • 谢谢,我不知道你必须设置 inputProcessor。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-01
    • 2015-06-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-19
    相关资源
    最近更新 更多