好的,所以我知道这个问题已经被问了一百万次,但是我有一个稍微不同的问题。我有多边形对象,这些对象由1个单元“块”组成,我需要确定这些块是否相互接触。其他答案有这样的代码:Java - 形状碰撞检测
Area area1 = new Area(poly1);
Area area2 = new Area(poly2);
area1.instersect(poly2);
if(!area1.isEmpty()) {
// Do collision stuff here
}
这有虽然问题,这就是,如果形状是彼此相邻(他们是触摸),这将不报告的碰撞。
我最初的想法是让一个Polygon在其周围有一个单位边框,所以如果它们彼此相邻,则边框将与第二个Polygon相交,并且会碰撞。我似乎无法找到添加边框的方法。
非常感谢帮助!
编辑:
如果此问题,所有的块在大小1x1的单元,并且被存储在“块”(与一个ArrayList)。我的多边形对象代表了一大块对象。如果有更好的方法来做到这一点,请让我知道!
我的代码需要为efficent越好,因为我可能有几百块/千块,而物理循环运行每隔1秒
我们在这里说2d还是3d多边形? – kasoban
我正在使用2D多边形 – atoms118