我一直致力于通过SAT(分离轴定理)实现斜率碰撞。然后我遇到了麻烦。当我的物体沿着斜坡行走时,它像一个弹跳球一样移动:
坡度有3个精灵(45°):
以下是我目前使用JavaScript的代码:
slopes.forEach((slope) => {
//Minimum Translation Vector
let mtv = object.collidesWith(slope);
if(mtv.overlap !== 0) {
object.velocityY = 0;
object.positionY -= mtv.overlap;
}
});
向上移动时效果很好,但在向下移动时弹跳,我不知道在走路时如何保持物体在斜坡上停留。
请,任何帮助将不胜感激。