簡體   English   中英

向行進方向發射子彈

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM