2

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

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;
    }   
 }

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

4

1 回答 1

6

维基

AGestureDetectorInputProcessor变相的。要监听手势,必须实现GestureListener接口并将其传递给GestureDetector. 然后将检测器InputProcessor设置InputMultiplexerInputProcessor

我承认这是相当密集的。但在 wiki 上稍远一点,您会看到:

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

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

于 2013-07-27T00:05:39.140 回答