[英]Fire bullet in the direction of travel
我很難弄清楚如何向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 } });
但是一切都以弧度為單位,我希望它以指南針度為單位。
如果您要做的只是將度數轉換為弧度,則只需使用: d * (π/180)
其中d
是度數。
如果您還想說出羅盤方向(例如在北,南,東,西),請創建一個枚舉並將其轉換為度,然后使用度至弧度功能。
自從我完成任何游戲編程以來已經有一段時間了,但是您可以使用MathHelper.ToDegrees將弧度轉換為角度。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.