【发布时间】:2014-09-18 13:08:11
【问题描述】:
我已经尝试过解决平滑播放器-墙壁-碰撞的问题,让播放器沿着墙壁滑动。
我尝试了以下操作:
playerBox->move();
if (playerBox->intersects(wall)) {
clearMovement();
movePlayerBoxBack();
}
但是如果玩家接触到墙壁,他就不会滑动…… 他只是停下来。 (我也将 W、A、S 和 D 分开。)
仅当我将播放器位置设置回 他接触的墙壁的位置。如下:
player->move();
if (intersect) {
moveToWall();
}
但它不起作用,因为对于一堵墙,与 另一个球员接触更多的边和球员 跳到角落…… 所以它只适用于一面墙......
我的问题是:我怎样才能使顺利 玩家 - 墙 - 以另一种方式发生碰撞,这也适用于与一个或多个其他墙相连的墙。
【问题讨论】: