使QueryAABB触摸在身体的中心进行响应

时间:2014-01-24 19:20:06

标签: java libgdx box2d

我允许用户拖动他们的手指来选择身体。然后将主体添加到阵列列表中以便稍后删除。

问题是,我希望用户手指在添加到阵列之前必须穿过身体的中间,而不是能够触摸身体中的任何位置。

现在,当用户的手指甚至穿过身体的一角时,它被添加到阵列中,如果用户的手指穿过身体的中间或身体的中间,它就不会被添加。

有什么想法吗?我的代码如下。

我正在为他的身体使用圆形。

@Override
public boolean touchDragged(int x, int y, int pointer) {
    // TODO Auto-generated method stub

    vecTemp.set(x, y, 0);
    camera.unproject(vecTemp);

    hitBody = null;

    world.QueryAABB(callback, vecTemp.x - 0.1f, vecTemp.y - 0.1f, vecTemp.x + 0.1f, vecTemp.y + 0.1f);

    if(!selectedObjects.contains(hitBody, true) && hitBody != null){     
        selectedObjects.add(hitBody);
    }

    return false;
}

0 个答案:

没有答案