如果您的正方形无法旋转,这很简单:说
double r是每个边的长度
Point p1,一个正方形的中心,另一个正方形的中心
p2。然后:
if (Math.abs(p1.x - p2.x) < r && Math.abs(p1.y - p2.y) < r) { // Collision}
更复杂的情况是正方形是否可以旋转。在这种情况下:将对象的每条边视为一条几何线(如果知道角的坐标,则可以轻松地计算每条线的方程式)。
接下来,找到每对线的汇合点(每个汇合点从一个正方形到另一个,彼此相交),并测试该点是否在其中一个正方形内。如果这些比较之一返回true,则发生冲突。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)