如何在javascript中检测光标与多个移动对象的碰撞?

如何在javascript中检测光标与多个移动对象的碰撞?,javascript,2d-games,Javascript,2d Games,我正在做一个游戏,玩家将使用光标移动,并且必须躲避物体。每个对象都有一个hitbox,所以我希望能够在光标点击一个对象时更新生命数。我只是不知道跟踪所有的杀手锏有什么有效的方法。我还想记录光标与之碰撞的对象,这样就可以计算额外的对象。这些物体不断地重生并从画布上移开,所以我认为保留一个包含所有Hitbox的阵列将很快失去控制。这里有一些代码和一些我想做的伪代码 canvas.addEventListener("mousemove", e => { mouseX = e.clientX

我正在做一个游戏,玩家将使用光标移动,并且必须躲避物体。每个对象都有一个hitbox,所以我希望能够在光标点击一个对象时更新生命数。我只是不知道跟踪所有的杀手锏有什么有效的方法。我还想记录光标与之碰撞的对象,这样就可以计算额外的对象。这些物体不断地重生并从画布上移开,所以我认为保留一个包含所有Hitbox的阵列将很快失去控制。这里有一些代码和一些我想做的伪代码

canvas.addEventListener("mousemove", e => {
  mouseX = e.clientX - rect.left;
  mouseY = e.clientY - rect.top;
  if (somehitboxX<=mouseX<=somehitboxX + 50 and somehitboxY<=mouseY<=somehitboxY + 50){
     doSomething
}

});
表情对象的初始化方式如下:

var xPos=0;
对于(变量i=0;i<9;i++){

var emo=新表情符号("你必须以一种或另一种方式跟踪这些方框。只需过滤掉屏幕上的任何对象。你也可以看一看,或者甚至你想要一个快速的解决方案,考虑添加更多的代码,这样我们就可以测试它。很难猜出你的其他代码看起来是什么样的,以及它是如何与事件结合在一起的。IVA86.我已经在我的问题中添加了更多的代码,你必须用一种或那种方式来跟踪HITBOX。只需过滤掉屏幕上的任何对象。你也可以看一看,或者甚至你想要一个快速的解决方案,考虑添加更多的代码,这样我们就可以测试它。很难猜出你的OTH是什么。er代码可能是这样的,以及它如何与上面显示的EventListener结合在一起。@Ivan86我在问题中添加了更多的代码
function Emoji(emojicon, score, x, y, speed) {
  this.emojicon = emojicon;
  this.score = score;
  this.x = x;
  this.y = y;
  this.speed = speed;
  this.hitbox = { hbx: x, hby: y - 50, hbWidth: 50, hbHeight: 50 };
  this.hit = false;
}