1

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

我正在尝试通过使用接触侦听器来确定我的着陆是否平滑(沿边缘着陆或垂直于边缘着陆),但无法正确。

有任何想法吗?

4

1 回答 1

0

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

我可能会误解您所说的“平滑”是什么意思,但无论如何,如果您执行上述操作,您将拥有实际被击中的边缘的两个端点以及圆的行进方向,因此您可以使用这些来自己决定是否顺利。

于 2011-06-17T04:13:04.573 回答