我无法尝试如何在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 } });
但是一切都是弧度的,我希望它处于罗盘度。
答案 0 :(得分:1)
如果您只想将度数转换为弧度,那么您只需使用:d * (π/180)
d
为度数。
如果您还希望能够说出指南针方向(如北,南,东,西),请创建一个枚举并将它们转换为度数并使用度数到弧度的函数。
答案 1 :(得分:0)
自从我完成任何游戏编程以来已经有一段时间了,但您可以使用MathHelper.ToDegrees将弧度转换为度数。