对象与画布上的对象矩阵之间的碰撞

时间:2014-09-03 09:27:12

标签: javascript html5 canvas matrix collision

我有一个矩形和一个矩形矩阵 我想检查矩阵中哪个矩形与单个矩形碰撞最多,并改变其位置以适合矩阵的矩形。
这是我的矩形代表

{
 x: X,
 y: Y,
 width: WIDTH,
 height: height
}

矩阵只是一个简单的矩形数组(9)。正如你在下图中看到的那样,矩形可以适合任何9个平方位置,问题是我不知道如何计算矩形碰撞最多的方块。
非常感谢你。我会回答任何答案 enter image description here

2 个答案:

答案 0 :(得分:1)

最充实的"单元格的中心点最接近矩形的中心点。

你可以计算任何细胞和细胞之间的距离。 rectangle5中心点是这样的:

var dx=rect5CenterX-cellCenterX;
var dy=rect5CenterY-cellCenterY;
var distance=Math.sqrt(dx*dx+dy*dy);

距离最短的细胞是最多的细胞。

答案 1 :(得分:0)

我想这就是你要找的东西

JSFiddle

在这里我们检查了每个角落和中心的碰撞 变量x& y给出了对象碰撞的所有瓦片索引。

代码已注释且易于理解;
更改w,h,tw,th,originx,originy等不同变量 为了更好地理解。