LibGDX: ImageButton clicklistener 不工作

LibGDX: ImageButton clicklistener not working

这是我的代码:

        Gdx.input.setInputProcessor(this);
        bagImage = new Image(new Texture("bag.png"));
        bagButton = new ImageButton(bagImage.getDrawable());
        bagButton.setSize(125, 125);
        bagButton.addListener(new ClickListener() {
            public void clicked(InputEvent event, float x, float y) {
                Gdx.app.debug("DEBUG", "clicked");
            }
        });
    }

如果我点击按钮,什么也不会发生。为什么?

您应该 stage 并将 ImageButton 添加到此阶段,然后将 setInputProcessor 添加到此阶段,您只能使用 Image 而不是 ImageButton,因为您不使用 imageUp、imageDown .....

你的代码应该是这样的:

Stage stage = new Stage();
Gdx.input.setInputProcessor(stage); 
bagImage = new Image(new Texture("bag.png"));
bagImage.setSize(125, 125);
stage.addActor(bagImage);
bagImage.addListener(new ClickListener() { 
    public void clicked(InputEvent event, float x, float y){
        Gdx.app.debug("DEBUG", "clicked");
        }
    });

@Override
public void render(float delta) {
    stage.act(delta);
    stage.draw();
}