touchDown有效,但touchUp不起作用libGDX

时间:2018-07-26 08:03:56

标签: libgdx touch android-touch-event

我想在用户触摸我的actor时检测到touchUp事件(称为“飞行”),我尝试了touchDown并检测到它,但是松开手指后touchUp无法获得呼叫。

fly.addListener(new InputListener(){
        @Override
        public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) {
            return super.touchDown(event, x, y, pointer, button);
        }

        @Override
        public void touchUp(InputEvent event, float x, float y, int pointer, int button) {

            super.touchUp(event, x, y, pointer, button);
            System.out.println("touched");
        }

    });

我已经将输入处理器设置为暂存。 你知道怎么了吗?

1 个答案:

答案 0 :(得分:0)

根据文档,仅当touchDown返回true时,touchUp才会被触发。

  

touchUp(InputEvent事件,float x,float y,int指针,int按钮)

     

当鼠标按钮或手指触碰到任何地方但在   仅在touchDown先前为鼠标按钮返回true或   触摸。

尝试

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

    @Override
    public void touchUp(InputEvent event, float x, float y, int pointer, int button) {

        super.touchUp(event, x, y, pointer, button);
        System.out.println("touched");
    }

});