触摸后libGDX触摸效果

时间:2014-11-13 11:14:00

标签: java android libgdx

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

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();
}

但我的触摸有问题。如果用户触摸屏幕上的某个位置片刻并且球(稍后出现一段时间)即将到达用户触摸的位置,则球将识别自己被触摸并且球弹跳();方法将开始并继续其他球到达相同的位置,直到用户触摸屏幕上的另一个位置,但然后该位置将被修复,直到新的...有人知道如何绕过该问题,所以如果用户停止触摸屏幕然后他触摸的地方不会影响球对象?

1 个答案:

答案 0 :(得分:1)

您似乎没有使用任何输入处理器。 让你的类实现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)