我创建了一个简单的碰撞检测脚本,它以这种方式工作: 当英雄与物体之间的距离为x像素时,英雄可以“行走”x像素,当他不与物体碰撞时(英雄+ 3px =无碰撞),他移动5个像素。 但我还必须考虑帧速率,因此将其速度乘以经过的时间/ 20 我的问题是,当帧速率在某个时间非常低或很高时,他只需移动一个额外的像素(1px)..机会非常小,但它仍然可能发生。 那么我该怎样做才能防止这种情况呢?
答案 0 :(得分:1)
在碰撞后检查结束时添加位置修正,或在碰撞前检查结束时添加速度修正。
碰撞后:对象被转换回碰撞点。
预碰撞:物体速度会暂时改变,因此在下一帧中它会在碰撞点上。
示例:
before
旁边的新位置。