如何检测拖动输入何时在libgdx中结束

时间:2015-07-22 09:53:23

标签: libgdx

我不知道如何检测用户拖动事件何时结束,所以我决定这样做

protected class Input extends DragListener{
    boolean dragging=false;

    @Override
    public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) {
        return true;
    }

    @Override
    public void touchDragged(InputEvent event, float x, float y, int pointer) {
        if(!dragging)dragging=true;
            *my game logic*
            .
            .
            .
    }

    @Override
    public void touchUp(InputEvent event, float x, float y, int pointer, int button) {
        Gdx.app.log("touch up","");
        if (dragging) {
            *my game logic*
            .
            .
            .
        }

    }
}

我通过拖动和触摸来尝试我的课程,没有任何事情发生。 我再次拖动,什么也没发生。然后我点击,控制台两次打印“touchUp”。 还有什么可以检测它吗

1 个答案:

答案 0 :(得分:1)

位于FILE *arr[]的界面GestureListener中有一个方法GestureDetectorpan。您应该实现该界面,添加其中的所有方法,并使用panStop进行拖动行为,并使用pan来解决问题。这些方法既可以注册触摸也可以注册鼠标以及多个手指触摸。