我希望某些刚体能够彼此通过,即没有碰撞响应。尽管我仍然希望碰撞检测并触发碰撞事件Active:Events.on('collisionActive')
,以便我可以在碰撞时执行一些代码。
Events.on(engine, 'collisionActive', (event) => {
for (const body of event.pairs) {
if (body.a collides with body.b) doSomeStuff(body.a, body.b)
}
});
这些刚体位于“地板”或“平台”上,因此它们需要与这些墙或地板碰撞,但要穿过其他刚体。
一种选择是在category
中为主体赋予collisionFilter
,但这似乎不会触发碰撞主动事件。
我在这里可以做什么?
答案 0 :(得分:0)
我通过手动遍历实体并使用Bounds.contains
比较它们的边界来解决此问题。
if (Bounds.contains(bodyA.bounds, bodyB.position)) doSomeStuff()