Xna与壁2D碰撞

时间:2012-09-23 21:05:55

标签: c# xna collision-detection

Sketch of scene

好的,所以我一直在互联网上查询我(有些人可能会说是简单的)碰撞检测问题的答案。我有一辆车,我基本上不希望它穿过墙壁或卡在里面。我试图将墙分成四个代表四条边的矩形,但是它会导致汽车以非常错误的方式移动。

有人能告诉我在哪里可以找到信息或告诉我如何解决矩形车与墙壁的碰撞,如图所示?我希望汽车继续朝着不会让它穿过墙壁的方向移动,但就像你通常会绕过它或远离它一样。

2 个答案:

答案 0 :(得分:3)

查看separating axis theorem

你应该 真的 从N +的开发者那里读到这个tutorial。它有几个交互式演示,因此您可以看到它们描述的概念。

aabb

答案 1 :(得分:1)

在以下情况下,汽车能够撞到墙壁的两侧:

CarYT > WallYB && CarYB < WallYT

如果这是真的,它在以下情况下击中左侧:

CarXL < WallXL && CarXR >= WallXL

其他情况类似。