如何检测触摸何时被释放?

时间:2013-03-07 20:38:57

标签: android touch libgdx touch-event

我正在尝试使用gdx.input作为libgdx的一部分来检测何时释放触摸点。我知道Android的方式确定触摸点的释放时间如here所述,但我正在寻找一种特定于libgdx的方法。

如何检测触摸何时被释放?我找不到在gdx.input中执行此操作的方法。

1 个答案:

答案 0 :(得分:5)

根据libgdx wiki,您必须实现InputProcessor接口。在界面中有一个名为touchUp的函数,在释放触摸时应该调用它。

您可以在此处阅读有关libgdx的所有触控输入:http://code.google.com/p/libgdx/wiki/InputEvent

维基上有一个相当简单的例子。这是实现的界面:

public class MyInputProcessor implements InputProcessor {
    @Override
    public boolean keyDown (int keycode) {
        return false;
    }

    @Override
    public boolean keyUp (int keycode) {
        return false;
    }

    @Override
    public boolean keyTyped (char character) {
        return false;
    }

    @Override
    public boolean touchDown (int x, int y, int pointer, int button) {
        return false;
    }

    @Override
    public boolean touchUp (int x, int y, int pointer, int button) {
        return false; /* This should be what you're looking for. */
    }

    @Override
    public boolean touchDragged (int x, int y, int pointer) {
        return false;
    }

    @Override
    public boolean touchMoved (int x, int y) {
        return false;
    }

    @Override
    public boolean scrolled (int amount) {
        return false;
    }
}

如何将您的类设置为侦听器:

MyInputProcessor inputProcessor = new MyInputProcessor();
Gdx.input.setInputProcessor(inputProcessor);