1

我正在为游戏进行碰撞检测,关卡是从每个都有自己的边界框的块中随机生成的。我的碰撞检测没问题,除了有时,玩家船可以同时与 2 个或更多块碰撞,我需要确定它首先击中了哪一个。

我已经计算出如果我找到船舶边界框的角在其运动方向上,然后从该角沿船舶运动矢量的相反方向画一条线(图中的红线),最远的交点离开那条线将在第 1 号框命中。我只是不知道如何编写该逻辑!

我必须处理的事情

  • 碰撞的边界框(矩形)列表
  • 船舶运动 (Vector2)
  • 船舶边界框(Reactangle)

在此处输入图像描述

4

1 回答 1

1

我的方法是:在飞船上添加另一组更小、更精确的边界框。如果发生碰撞,您应该开始检查较小边界框的比例。据我了解,许多游戏这样做是为了避免不必要的碰撞检查,但有办法在碰撞发生时更准确地确定碰撞。

于 2012-11-17T16:46:16.690 回答