我目前正在从某种角度(相机)开发一种2d游戏,并使它看起来像3d游戏。
透视图永远不会改变(转向)。
随便。现在,我已经完成了对点击框进行编码的工作,并且播放器已经能够识别带有其他对象(实体)的Colissions。
现在,我要防止播放器碰到其他实体(hitbox)。我的想法是按如下所述执行大肠菌检测,然后计算交点,以便我知道玩家和实体在命中箱的哪一侧碰撞。最后,根据重叠发生的位置,将播放器的x或y速度设置为0。
我真的不知道如何检测“重叠轴/轴”,到目前为止,我发现的只是一个Colission。
冲突:
function getColission(a, b) {
return (a.x <= b.x+b.sizeX && a.x+a.sizeX >= b.x) &&
(a.y <= b.y+b.sizeY && a.y+a.sizeY >= b.y) &&
(a.z <= b.z+b.sizeX && a.z+a.sizeZ >= b.z);
}