使用LibGDX中的GestureListener对特定区域使用“TouchDown”?

时间:2017-09-13 21:36:05

标签: java libgdx

是否可以使用Gesture Listener类在LibGDX中将输入注册到屏幕的特定区域(例如,纹理区域)?

我正在使用touchDown方法:

@Override
    public boolean touchDown(float x, float y, int pointer, int button) {
        if(GameIsOver) {
          Restart();
        }

        if (GameIsNotOver) {
            if (x == RegionObject.getRegionX()){
            System.out.println("touched");
         }
    }


}

RegionObject是我的纹理区域。它适用于第一部分(GameIsOver),因为它在整个屏幕上记录任何触摸。

但我无法让它在特定领域工作。

我应该只使用InputMultiplexer吗?或者我应该完全做其他事情?

是否可以使用GestureListener / Detecter?

1 个答案:

答案 0 :(得分:0)

GestureListener的任何具体用途?

可以使用InputProcessor或使用适配器类(InputAdapter)

来检测触控

需要绑定特定区域,您可以使用Sprite来保存绘图的几何,颜色和纹理信息。

Sprite sprite=new Sprite(textureRegion);

if(sprite.getBoundingRectangle().contains(x,y))
    Gdx.app.log("TAG","touch on particular area");