java – ImageButton似乎没有检测到点击次数(Scene2d.ui)

当试图在舞台上放置一个简单的 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(用于测试),但它似乎也没有用.

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

难道我做错了什么?

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

Gdx.input.setInputProcessor(stage);

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

InputMultiplexer plex = new InputMultiplexer();
plex.addProcessor(myOtherProcessor);
plex.addProcessor(stage);
Gdx.input.setInputProcessor(plex);
相关文章
相关标签/搜索