两个箱子碰撞,哪个轴应该改变?

时间:2018-06-10 02:42:10

标签: 2d physics collision

当玩家与某个区块发生碰撞时,我会根据最小的轴变化移动它们,这是有道理的。

然而,当许多块互相交互时,这会让人感到困惑。

Box Collisions

  • 黑角广场 - 玩家,移动
  • 红色/蓝色方块 - 块,静态

从这个例子中,玩家显然应该向上移动,但是这些框分别具有不同的视点

  • 蓝色框在Y轴上更多碰撞,因此黑框应向左移动。如果您假装红色框不存在
  • ,您可以更轻松地看到这一点
  • 红色框在X轴上碰撞得更多,因此黑框应该向上移动

我如何知道哪个方框正确?

1 个答案:

答案 0 :(得分:0)

解决方案是找到最接近X和Y的块

在这种情况下,红色块在X轴上更近,因此应该用它来固定Y轴

另外,为了防止块将播放器移动到角落,请添加宽限缓冲区。在下图中,紫色和绿色区域略小于播放器的大小。

Box Collisions

如果一个块在其中一个轴上最近,并且它在该区域内,那么它应该用于碰撞