【问题标题】:Constructing a GestureDetector in libGDX在 libGDX 中构建 GestureDetector
【发布时间】:2015-06-29 14:08:11
【问题描述】:

我一直在使用不同实施的手势检测器方法检测不同类型的输入。但是,我确实想通过更改以下方法的参数来更改 G.D 的一些偏好:

public GestureDetector(float halfTapSquareSize,
                   float tapCountInterval,
                   float longPressDuration,
                   float maxFlingDelay,
                   GestureDetector.GestureListener listener)

我得到了http://libgdx.badlogicgames.com/nightlies/docs/api/com/badlogic/gdx/input/GestureDetector.html的^代码

我对改变“halfTapSquareSize”的值特别感兴趣

我将如何在下面的代码中实现它?

public class MyGdxGame extends ApplicationAdapter implements GestureDetector.GestureListener {

@Override
public void create() {
    super.create();
    //Doing stuff at create
}

@Override
public void resize(int width, int height) {
    super.resize(width, height);
}

@Override
public void render() {
    super.render();
    //Rendering stuff
}

@Override
public void pause() {
}

@Override
public void resume() {
}

@Override
public void dispose() {
    //disposing stufff
}

@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) {
    // Doing stuff at tap
    return true;
}

@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) {
    //Doing stuff when paning
}

@Override
public boolean panStop(float x, float y, int pointer, int button) {
    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;
}

}

【问题讨论】:

    标签: java android libgdx gesturedetector


    【解决方案1】:

    您的代码仅实现了 GestureListener。此侦听器需要与 GestureDetector 关联,然后需要注册 GestureDetector 以处理输入。

    所以在你的 MyGdxGame 类中,你需要这样的东西:-

    GestureDetector input = new GestureDetector(this); // 'this' refers to your MyGdxGame instance
    Gdx.input.setInputProcessor(input);
    

    现在您可以为 GestureDetector 的构造函数提供额外的参数,正如您在帖子中提到的那样,或者使用 GestureDetector 的相关方法,如下所示:

    input.setTapSquareSize(someFloatValue);
    

    【讨论】:

    • 该死的。就这么容易。无论如何 - 非常感谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-08
    相关资源
    最近更新 更多