如何在不抬起手指的情况下更改我按下的按钮? (在LibGDX中)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在不抬起手指的情况下更改我按下的按钮? (在LibGDX中)相关的知识,希望对你有一定的参考价值。

我正在开发一个应用程序,我已经按照这个tutorial添加运动

但每当我将手指滑动到一个新按钮时,它仍然会识别按下按钮,按下按钮,导致必须抬起手指才能更换按钮。

我想找到一种方法来允许滑动到一个新按钮

我这样做的唯一方法是每当玩家按下屏幕时创建一个矩形,如果它与libgdx中Image类的按钮重叠,如果它重叠,则向该方向移动,如果玩家移动他们的手指移动用它的矩形。

是否有更好的方法来做到这一点,如果不是,我将如何检测它是否与图像重叠。

答案

Arctic45所说的在我的课堂上有效,可以处理每个按钮的触控

leftImg.addListener(new InputListener() {

        @Override
        public void enter(InputEvent event, float x, float y, int pointer, Actor fromActor) {
            player.getComponent(MovementComponent.class).setGoLeft(true);
            super.enter(event, x, y, pointer, fromActor);
        }

        @Override
        public void exit(InputEvent event, float x, float y, int pointer, Actor toActor) {
            player.getComponent(MovementComponent.class).setGoLeft(false);
            super.exit(event, x, y, pointer, toActor);
        }
    });

当我运行它并按下按钮然后将其滑动到另一个按钮时它会更改按下按钮而无需触摸事件。

以上是关于如何在不抬起手指的情况下更改我按下的按钮? (在LibGDX中)的主要内容,如果未能解决你的问题,请参考以下文章

使用 PanGestureRecognizer 创建 UIView 并在不抬起手指的情况下激活它

按下按钮时更改列表视图背景颜色

在屏幕上滑动手指激活按钮,就像它们被按下一样

通过滑动手指按下按钮(用于钢琴效果)

如何在不声明 32 个插槽的情况下将 32 个按钮的 press() 信号连接到单个函数?

在不丢失 Html 样式的情况下更改 NSAttributedString 中的字体大小 - Swift