2

我有两个形状,都是圆形,它们在舞台上移动。当他们到达舞台时,他们只是从舞台的边界反弹。他们从不做的是碰撞,这是我想添加一些逻辑的东西。据我所知,

shape1.intersects(shape2.getPosition()); 

但这并没有真正接近我想要实现的目标,即周边碰撞检测,而不仅仅是一个点处于另一种形状。

4

1 回答 1

1

尝试简单的边界框碰撞检测:

function doObjectsCollide(a, b) { // a and b are your objects
   return !(
    ((a.getY() + a.getHeight()) < (b.getY())) ||
    (a.getY() > (b.y + b.getHeight())) ||
    ((a.getX() + a.getWidth()) < b.getX()) ||
    (a.getX() > (b.getX() + b.getWidth()))
   );
}
于 2013-03-29T17:02:28.510 回答