LibGdx多次触摸事件混乱

时间:2016-04-16 21:26:14

标签: java libgdx

所以我有3个矩形,就像使用contains方法的按钮一样。前两个按钮只是向左和向右移动角色,但第三个按钮是用户touchDown时跳转然后在touchUp时抛出一个球。 我的问题是,当按下按钮同时触摸时,这些混合起来,就像我按住跳跃按钮同时按住并释放左/右按钮它会抛出球。

我知道有指针ID的东西,但它让我感到困惑。

1 个答案:

答案 0 :(得分:0)

将新的InputProcessor设置为Gdx.input.setInputProcessor(),并检查矩形中是否包含触摸点,这样的事情应该有效:

     Gdx.input.setInputProcessor(new InputAdapter() {
        @Override
        public boolean touchDown(int screenX, int screenY, int pointer, int button) {
            if(leftRect.contains(screenX, screenY)){
                //move player left
                return true;
            }

            if(rightRect.contains(screenX, screenY)){
                //move player right
                return true;
            }

            return false;
        }

        @Override
        public boolean touchUp(int screenX, int screenY, int pointer, int button) {
            if(jumpRect.contains(screenX, screenY)){
                //make player jump
                return true;
            }
            return false;
        }
    });

我强烈建议你将Scene2D用于ui相关的东西,它可能有点难以开始,但它会使你的ui编码更容易实现和保持。