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)
我的问题是,我已经设置了手势监听器,我该如何使用它.我怎样才能从这些方法中获取信息?感谢您的任何帮助!
来自维基:
A
GestureDetector
是InputProcessor
伪装的.要监听手势,必须实现GestureListener
接口并将其传递给构造函数GestureDetector
.然后将探测器设置为InputProcessor
aInputMultiplexer
或者作为主要部分InputProcessor
我承认这是相当密集的.但是你会看到维基上的一点点:
Gdx.input.setInputProcessor(new GestureDetector(new MyGestureListener()));
Run Code Online (Sandbox Code Playgroud)
要以较低密度的英语重写上述内容:您的 GestureHandler
实例将传递给Libgdx GestureDetector
实例.该对象将累积"原始"输入并将其转换为更高级别的"手势".要获得原始输入,需要将原始输入传递给它.通过它安装它的最基本方法Gdx.input.setInputProcessor
,但你也可以通过安装它InputMultiplexer
(但这不值得进入这里).