0

我正在使用 Box2D 进行 Cocos2D 项目,并且我试图检测对象上的 2 个特定边缘何时接触,例如下图中的红色边缘:

在此处输入图像描述

我仍在学习碰撞,但我了解基础知识以及如何检测 2 个特定物体是否接触,但我无法弄清楚如何检测特定边缘。

我想到的一种解决方案是在我想要检测的边缘上新创建实体,但我想知道两个红色边缘何时完全对齐并且盒子形成一个矩形。

可能有一种简单的方法可以做到这一点,但我在互联网上搜索并没有找到有用的例子。

任何帮助表示赞赏,谢谢!

4

2 回答 2

1

基本上,Box2D 检测的碰撞不是在 b2Bodies 之间,而是在 b2Fixtures 之间。您所需要的只是将传感器固定装置添加到您的 b2Bodies ( fexture.isSensor = YES),将其位置设置到所需的点(距离右边缘仅 1-2 个像素,超出您的物理形状)并检测这两个传感器的接触。我希望这很清楚。

于 2012-06-13T01:58:12.060 回答
1

您可以像这样在每个主体的相关角添加两个小固定装置,并检查两对(红色/红色,蓝色/蓝色)何时同时重叠。圆形装置会很好,调整它们的大小是调整匹配精度的一种简单方法。 在此处输入图像描述

于 2012-06-13T05:10:10.190 回答