远离墙壁的球员不应该碰撞

时间:2016-02-08 08:44:09

标签: javascript game-physics

我正在开发我的第一个Javascript游戏。这是一个自上而下的2D视图(想想GTA 1/2)。现在我遇到了碰撞检测问题。我有多个实体,其中一个是玩家,另一个是静态对象(为了简单起见,让我们说一个墙)。

每个物体都有X / Y坐标,玩家也有速度和角度(玩家面对0-360度的方式)。对墙壁的碰撞检测工作正常,如果玩家碰撞导致玩家可以“滑动”,则可以在其中一个轴上停止速度。隔壁墙。

现在问题:一旦玩家再次碰撞墙壁,其中一个轴上的移动就会停止。如果玩家在此之后转身并背对墙壁,那么该轴的移动仍会停止,因为哈相撞。

我希望玩家如果远离物体,可以自由移动他想要的方式,我该如何实现这一目标?我想我需要弄清楚玩家面对的方式以及他是面对还是远离对象?

 $("#lstFieldList").multiselect({
                              maxHeight: 260,
                              buttonWidth:"100%",
                              enableFiltering:true,
                              enableCaseInsensitiveFiltering:true,
                            });

1 个答案:

答案 0 :(得分:1)

我想出了如何做到这一点:

var degrees = ( Math.atan2( GAME.entities[i].x - this.x, GAME.entities[i].y - this.y ) * 180 / Math.PI ) + this.angle