如何判断两个物体是否与物质接触.js

时间:2018-01-04 05:46:32

标签: javascript physics matter.js

我使用matter.js作为物理引擎,我发现我可以检测到碰撞。

然而,我无法弄清楚如何判断碰撞发生后两具尸体是否相互接触。有没有办法做到这一点?

(在我的特殊情况下,我希望只有在接触到特定的地面时才能跳球。)

3 个答案:

答案 0 :(得分:1)

这是一个很晚的答案,我知道您已经接受了答案,但我刚刚找到了这个非常简单的解决方案。 Matter.js 有一个名为 SAT 的模块,它检测与分离轴定理的碰撞。它的单一方法可用于检测两个物体是否发生碰撞:

Matter.SAT.collides(playerObject, groundObject).collided // returns either true or false depending on if the two objects are colliding 

答案 1 :(得分:0)

我认为他们有内置的碰撞检测API。

reference documentation

Matter.Detector.canCollide(filterA, filterB)

此方法返回一个bool,说明它是否处于碰撞状态。

答案 2 :(得分:0)

使用传感器。

物体之间的物体检测本身并不是很好,所以在传感器上放置至少要检测碰撞的物体之一。要么实际上将它严格地附着在你的身体上,要么找到一些方法来更新它,以便它总是移动到你想要跟踪的身体的位置并像你那样进行碰撞检测。