TouchDown работает, но TouchUp не работает libGDX

Я хочу обнаружить событие touchUp, когда пользователь трогает моего актера (который называется fly fly), я пробовал 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 ответ

Согласно документации, touchUp будет запущен, только если touchDown вернул true.

touchUp (событие InputEvent, число с плавающей запятой x, число с плавающей запятой 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");
    }

});
Другие вопросы по тегам