Java 在身体中央触摸以做出反应
我允许用户拖动手指来选择身体。然后将实体添加到阵列列表中,以便稍后删除 问题是,我希望用户的手指必须穿过身体中部,然后才能添加到阵列中,而不能触摸身体的任何位置 现在,当用户手指甚至穿过身体的一个角落时,它被添加到数组中,它不会仅在用户手指穿过身体的中间或身体内部的中间时添加 有什么想法吗?我的代码如下 我用圆形来表示他的身体Java 在身体中央触摸以做出反应,java,libgdx,box2d,Java,Libgdx,Box2d,我允许用户拖动手指来选择身体。然后将实体添加到阵列列表中,以便稍后删除 问题是,我希望用户的手指必须穿过身体中部,然后才能添加到阵列中,而不能触摸身体的任何位置 现在,当用户手指甚至穿过身体的一个角落时,它被添加到数组中,它不会仅在用户手指穿过身体的中间或身体内部的中间时添加 有什么想法吗?我的代码如下 我用圆形来表示他的身体 @Override public boolean touchDragged(int x, int y, int pointer) { // TODO Auto-g
@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;
}
你说的“中间”是什么意思?您可能希望使用夹具的TestPoint功能来检查触摸是否在夹具内部。Box2D测试台应该有一个示例,您可以查看它是否可以拖动实体。@iforce2d基本上是现在,当用户将手指拖动到一个实体上时,他们可能只需触摸另一个实体的egde,并将其添加到要移除的阵列中。我不希望发生这种情况,相反,我希望用户必须交叉触摸身体中部,以便选择它,而不是边缘。