【问题标题】:Box2D Detecting when 2 specific edges touchBox2D 检测 2 个特定边缘何时接触
【发布时间】:2012-06-12 23:25:54
【问题描述】:

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

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

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

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

感谢任何帮助,谢谢!

【问题讨论】:

    标签: cocos2d-iphone box2d collision-detection game-physics box2d-iphone


    【解决方案1】:

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

    【讨论】:

    • 感谢您的视觉和帮助!我将尝试这个,让你知道它是怎么回事
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多