LibGdx:利用手势监听器

Bev*_*qua 2 java input gesture libgdx

我想使用一些你无法访问的更复杂的触摸屏手势

Gdx.input
Run Code Online (Sandbox Code Playgroud)

我看到要做到这一点我必须创建一个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;
    }   
 }
Run Code Online (Sandbox Code Playgroud)

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

P.T*_*.T. 6

来自维基:

A GestureDetectorInputProcessor伪装的.要监听手势,必须实现GestureListener接口并将其传递给构造函数GestureDetector.然后将探测器设置为InputProcessora InputMultiplexer或者作为主要部分InputProcessor

我承认这是相当密集的.但是你会看到维基上的一点点:

Gdx.input.setInputProcessor(new GestureDetector(new MyGestureListener()));
Run Code Online (Sandbox Code Playgroud)

要以较低密度的英语重写上述内容:您的 GestureHandler实例将传递给Libgdx GestureDetector实例.该对象将累积"原始"输入并将其转换为更高级别的"手势".要获得原始输入,需要将原始输入传递给它.通过它安装它的最基本方法Gdx.input.setInputProcessor,但你也可以通过安装它InputMultiplexer(但这不值得进入这里).