Cocos2d iphone Box2d循环形状,确定平滑着陆

Cocos2d iphone Box2d循环形状,确定平滑着陆,cocos2d-iphone,box2d,box2d-iphone,Cocos2d Iphone,Box2d,Box2d Iphone,我正在写一个游戏,其中一个圆形落在一个由几百个顶点组成的b2LoopShape上 我试图通过使用联系人侦听器来确定我的着陆是否平滑(沿边缘着陆或垂直于边缘着陆),但无法正确进行 有什么想法吗?环形由多个边段组成。您需要在所有边段上循环,并在每条边上找到离圆中心最近的点。所有这些中最接近的应该是实际用于碰撞的点。如果该圆位于其所属的边段的“尖端”之一,则该圆会撞到边的末端。如果它在边缘中间的某个地方,它会平稳着陆 我可能误解了你所说的“平滑”的意思,但无论如何,如果你这样做,你将得到实际击中的边缘

我正在写一个游戏,其中一个圆形落在一个由几百个顶点组成的b2LoopShape上

我试图通过使用联系人侦听器来确定我的着陆是否平滑(沿边缘着陆或垂直于边缘着陆),但无法正确进行


有什么想法吗?

环形由多个边段组成。您需要在所有边段上循环,并在每条边上找到离圆中心最近的点。所有这些中最接近的应该是实际用于碰撞的点。如果该圆位于其所属的边段的“尖端”之一,则该圆会撞到边的末端。如果它在边缘中间的某个地方,它会平稳着陆


我可能误解了你所说的“平滑”的意思,但无论如何,如果你这样做,你将得到实际击中的边缘的两个端点,以及圆的移动方向,因此你可以使用这些来自己决定是否平滑。

谢谢!我已经弄清楚了第一部分,但是我想为第二部分想出一个聪明的方法。我不能给你一个实际的答案,因为我以前从来没有做过这件事,而且对它知之甚少,但在我看来,你需要的是一个光线投射(或两个或三个)和可能的线性(或角)速度检查。祝你好运