如何在libGDX中为对象添加触摸控件?

时间:2017-07-26 09:49:50

标签: java android libgdx

我正在为libGDX中的Android制作一个气球弹出游戏,我目前仍然坚持如何在用户触摸它们时弹出气球。我尝试使用touchDown()方法,

b = new Balloon();
        b.addListener(
                new InputListener()
                {
                    public boolean touchDown(InputEvent event, float x, float y, int pointer, int button)
                    {
                        b.remove();
                        popped++;
                        return true;
                    }
                });
        mainStage.addActor(b);
    }

但它不起作用。我需要一种方法,以便只触摸我触摸的气球,而其他气球则不会。

p.s我还在学习libGDX所以我是一个相当大的菜鸟。

编辑:气球是一个演员,我也设置了InputProcessor。触摸的东西可以工作,但它不会弹出我触摸它的气球只会弹出在起始x轴上产生的气球。

1 个答案:

答案 0 :(得分:0)

首先,您必须使用Gdx.input.setInputProcessor(mainStage)将您的阶段设置为输入处理器

然后你可以添加一个ClickListener来覆盖点击的方法,如下所示:

b.addListener(new ClickListener() {
    @Override
    public void clicked(InputEvent event, float x, float y) {
        super.clicked(event, x, y);

        //YOUR_CODE
    }
});