【发布时间】:2011-05-13 05:34:16
【问题描述】:
我设置了一个简单的矩形瓷砖碰撞方案,效果很好。
唯一的问题是当你开始从窗台上掉下来的时候。您的速度达到了每帧 Y/X 变化大到足以让您剪辑成固体物体并出现故障的地步。
基本上我的设置如下:
首先,玩家的位置加上了它的速度,所以如果没有发生碰撞,玩家现在就在下一帧的位置。 下面的列表只是一个函数,checkIntersectTiles(Vector2 maskPos);
- 计算要检查的角色周围的图块。
- 遍历图块,包括边界图块内的图块。
- 检查玩家与这些图块的碰撞矩形。
- 如果存在交叉点,请将最大的违规轴移出图块,然后将该轴速度设置为 0。
- 继续检查。
当你夹入地面时,你会在里面晃动,因为我的算法试图将你移到与你最相撞的地块之外。
我的解决方案:检查从玩家 pos 到玩家 pos + 速度的每个位置。 我被困在那一点上。
谁能帮帮我?
【问题讨论】:
标签: c# xna collision-detection tunneling