射击子弹在旅行的方向

时间:2013-12-19 02:50:31

标签: javascript impactjs

我无法尝试如何在8个方向中的一个方向射击子弹。

玩家只能指向罗盘方向0,45,90,135,180等

所以我需要的是一个公式,我可以在spawnEntity中使用该公式以玩家面向恒定速度的方向发送子弹。

我试过了;

    sinAngle = Math.cos(90) * 1000;
    cosAngle = Math.sin(90) * 1000;

    bulletX = (this.pos.x);
    bulletY = (this.pos.y);
    return { x: bulletX, y: bulletY, sin: sinAngle, cos: cosAngle };

这个电话是这样的;

   trajectory = this.calculateAngle();
   ig.game.spawnEntity(EntityBullet, trajectory.x, trajectory.y, { vel: { x: trajectory.sin, y: -trajectory.cos } });

但是一切都是弧度的,我希望它处于罗盘度。

2 个答案:

答案 0 :(得分:1)

如果您只想将度数转换为弧度,那么您只需使用:d * (π/180) d为度数。

如果您还希望能够说出指南针方向(如北,南,东,西),请创建一个枚举并将它们转换为度数并使用度数到弧度的函数。

答案 1 :(得分:0)

自从我完成任何游戏编程以来已经有一段时间了,但您可以使用MathHelper.ToDegrees将弧度转换为度数。