我正在为游戏进行碰撞检测,关卡是从每个都有自己的边界框的块中随机生成的。我的碰撞检测没问题,除了有时,玩家船可以同时与 2 个或更多块碰撞,我需要确定它首先击中了哪一个。
我已经计算出如果我找到船舶边界框的角在其运动方向上,然后从该角沿船舶运动矢量的相反方向画一条线(图中的红线),最远的交点离开那条线将在第 1 号框命中。我只是不知道如何编写该逻辑!
我必须处理的事情
- 碰撞的边界框(矩形)列表
- 船舶运动 (Vector2)
- 船舶边界框(Reactangle)
我正在为游戏进行碰撞检测,关卡是从每个都有自己的边界框的块中随机生成的。我的碰撞检测没问题,除了有时,玩家船可以同时与 2 个或更多块碰撞,我需要确定它首先击中了哪一个。
我已经计算出如果我找到船舶边界框的角在其运动方向上,然后从该角沿船舶运动矢量的相反方向画一条线(图中的红线),最远的交点离开那条线将在第 1 号框命中。我只是不知道如何编写该逻辑!
我必须处理的事情