碰撞检测时墙壁滑动

时间:2014-03-07 19:13:10

标签: c++ collision-detection

我有一些墙壁碰撞检测,而不是将playerX和playerY同时设置为前一个完全震动我的玩家的合作伙伴。我希望墙壁有滑动效果。我所拥有的代码似乎与0度,90度,180度和270度不同。当我滑动并且我在滑动时改变我的球员角度时,一旦击中这四个角度,滑动将不会继续并且玩家将保持静止直到没有发现碰撞。基本上滑动停止在任何角度

if (wallCollision() == true) {

    if (playerAngle >  0 && playerAngle < 90){
        playerY = prevY;
    }
    else if (playerAngle >90 && playerAngle < 180){
        playerX = prevX;
    }
    else if (playerAngle > 180 && playerAngle < 270){
        playerY = prevY;
    }
    else if (playerAngle >270 && playerAngle < 360){
        playerX = prevX;
    }
    else {
        playerX = prevX;
        playerY = prevY;
    }

}

编辑我添加了else if

我的问题是,一旦玩家击中0 90 180或270度滑动检测停止工作且玩家通过

0 个答案:

没有答案