我想使用一些你无法从
访问的更复杂的触摸屏手势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;
}
}
我的问题是,我已经设置了手势监听器,我该如何使用它。我怎样才能从这些方法中获取信息?谢谢你的帮助!
答案 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
安装它(但这不值得进入此处)。