LibGdx:利用手势监听器

时间:2013-07-26 21:31:14

标签: java input libgdx gesture

我想使用一些你无法从

访问的更复杂的触摸屏手势
Gdx.input

我看到要这样做我必须创建一个Gesture监听器,所以我创建了类GestureHandler并复制了wiki中的代码。我的手势处理程序如下所示:

public class GestureHandler implements GestureListener {

@Override
public boolean touchDown(float x, float y, int pointer, int button) {
    return false;
}

@Override
public boolean tap(float x, float y, int count, int button) {
    return false;
}

@Override
public boolean longPress(float x, float y) {
    return false;
}

@Override
public boolean fling(float velocityX, float velocityY, int button) {
    return false;
}

@Override
public boolean pan(float x, float y, float deltaX, float deltaY) {
    return false;
}

@Override
public boolean zoom(float initialDistance, float distance) {
    return false;
}

@Override
public boolean pinch(Vector2 initialPointer1, Vector2 initialPointer2, Vector2 pointer1, Vector2 pointer2) {
    return false;
    }   
 }

我的问题是,我已经设置了手势监听器,我该如何使用它。我怎样才能从这些方法中获取信息?谢谢你的帮助!

1 个答案:

答案 0 :(得分:6)

来自wiki

  

GestureDetector伪装成InputProcessor。听   手势,一个必须实现GestureListener界面和   将它传递给GestureDetector的构造函数。探测器是   然后设置为InputProcessor,可以是InputMultiplexer,也可以是。{   主InputProcessor

我承认这是相当密集的。但是你会看到wiki上的一点点:

Gdx.input.setInputProcessor(new GestureDetector(new MyGestureListener()));

要改进上述内容,希望不那么密集的英语:您的 GestureHandler实例将传递给 Libgdx GestureDetector实例。该对象将累积“原始”输入并将其转换为更高级别的“手势”。要获得原始输入,需要将原始输入传递给它。通过Gdx.input.setInputProcessor安装它的最基本方法,但您也可以通过InputMultiplexer安装它(但这不值得进入此处)。