【发布时间】:2020-03-01 16:10:50
【问题描述】:
我正在开发平台游戏,我想与平台进行基本的碰撞,遗憾的是仍然无法正确完成。玩家移动计算如下:
velocity += acceleration
position += velocity + 0.5 * acceleration
所有变量都是具有x 和y 值的向量。这按预期工作,问题在于碰撞。我的规则是:
- 降落在平台上时停止跌落。
- 从平台运行时开始跌落。
- 在跳跃过程中碰到平台时停止向上移动。
- 撞墙时停止向一侧移动,但可以向相反方向移动。
检查底部是否与平台碰撞非常简单,但棘手的部分是检测哪一侧与平台碰撞并能够为玩家设置适当的位置。
我试图从每一侧检测角落和中间,但由于我的速度不是每帧 1 像素,所以有时玩家会很快掉下来并且也被检测到一边。
检测哪一侧发生碰撞的好方法是什么?
【问题讨论】: