繁体   English   中英

libGDX触摸后生效

[英]libGDX touch in effect after touch

我使用以下代码将用户触摸与球对象的位置匹配,因此当用户触摸球时,它会弹起。 码:

int x1 = Gdx.input.getX();
int y1 = Gdx.input.getY();
Vector3 input = new Vector3(x1, y1, 0);
cam.unproject(input);

if(ball.getBoundingCircle().contains(input.x, input.y)) {
ballBounce();
}

但是我的手感有问题。 如果用户触摸屏幕上的某个位置片刻,并且某个球(稍后再出现)将到达用户触摸的位置,则该球将识别出自己已被触摸,并且ballBounce(); 方法将开始并继续处理到达相同位置的其他球,直到用户触摸屏幕上的另一个位置,然后该位置将固定到新的位置为止。有人知道我如何绕过该问题,如果用户停止触摸屏幕,那么他\\她触摸的地方将不会影响球形物体?

看来您没有使用任何输入处理器。 使您的类实现InputProcessor,并使您的touchDown方法看起来像这样。

@Override
touchDown(InputEvent event, float x, float y, int pointer, int button) {
    Vector3 input = new Vector3(x, y, 0);
    cam.unproject(input);

    if (ball.getBoundingCircle().contains(input.x, input.y)) {
        ballBounce();
    }
}

ClickListener(LibGDX API)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM