JavaScript中几个对象之间的碰撞检测器

时间:2017-12-11 13:45:47

标签: javascript function object collision-detection

我正在尝试创建一个collisionDetector函数,该函数会在两个对象发生碰撞时发出通知。我以前做过这个,但后来只有一个主要对象,所有其他对象都是数组的一部分。所以这没问题,但现在我有几个单独的对象。有没有办法让一个函数注意到几个对象之间的所有碰撞?这是我的对象的函数:

var myBrick1 = new object(brick1.img, brick1.x, brick1.y, brick1.width, brick1.height);
var myBrick2 = new object(brick2.img, brick2.x, brick2.y, brick2.width, brick2.height);
var myBrickV1 = new object(brickV1.img, brickV1.x, brickV1.y, brickV1.width, brickV1.height);
	
function object(img,x,y,width,height){ 		
  this.Sprite = new Image(); 							
  this.Sprite.src = img; 					
  this.X = x; 										
  this.Y = y;
  this.Width = width;
  this.Height = height;

}
	
function drawBrick(whichBrick){ 		
		ctx.drawImage(whichBrick.Sprite, whichBrick.X, whichBrick.Y, whichBrick.Width, whichBrick.Height);
	}

(我使用mouseup,mousedown和mousemove事件为我的对象制作单击和拖动功能)

1 个答案:

答案 0 :(得分:0)

由于你的对象都是矩形,你只需要检查它们的坐标是否重叠(我看到你有x,y,宽度,高度,所以你有所有的数据,其余的是一些数学:显示更多努力)。

我在这里的类似帖子中写了更详细的答案:[collision detection for paddle (pong/breaking block game)