KineticJS圆周碰撞检测的形状

KineticJS perimeter collision detection for shapes

本文关键字:碰撞检测 KineticJS      更新时间:2023-09-26

我有两个形状,都是圆形,它们在舞台上移动。当他们到达舞台时,他们只是在舞台的边界上弹跳。它们永远不会发生碰撞,这是我想要添加的一些逻辑。最接近的是

shape1.intersects(shape2.getPosition()); 

但这并没有真正接近我想要达到的目标,我想要的是周长碰撞检测,而不仅仅是如果一个点是另一个形状

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

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()))
   );
}