我正在开发我的第一个Javascript游戏。这是一个自上而下的2D视图(想想GTA 1/2)。现在我遇到了碰撞检测问题。我有多个实体,其中一个是玩家,另一个是静态对象(为了简单起见,让我们说一个墙)。
每个物体都有X / Y坐标,玩家也有速度和角度(玩家面对0-360度的方式)。对墙壁的碰撞检测工作正常,如果玩家碰撞导致玩家可以“滑动”,则可以在其中一个轴上停止速度。隔壁墙。
现在问题:一旦玩家再次碰撞墙壁,其中一个轴上的移动就会停止。如果玩家在此之后转身并背对墙壁,那么该轴的移动仍会停止,因为哈相撞。
我希望玩家如果远离物体,可以自由移动他想要的方式,我该如何实现这一目标?我想我需要弄清楚玩家面对的方式以及他是面对还是远离对象?
$("#lstFieldList").multiselect({
maxHeight: 260,
buttonWidth:"100%",
enableFiltering:true,
enableCaseInsensitiveFiltering:true,
});
答案 0 :(得分:1)
我想出了如何做到这一点:
var degrees = ( Math.atan2( GAME.entities[i].x - this.x, GAME.entities[i].y - this.y ) * 180 / Math.PI ) + this.angle