1 回答

TA貢獻(xiàn)1893條經(jīng)驗(yàn) 獲得超10個(gè)贊
對(duì)于i第一個(gè)對(duì)象,從范圍的一側(cè)到另一側(cè)的角距離分?jǐn)?shù)可以用公式 i/(numToShoot-1) 表示,其中 numToShoot > 1 的值。如果 numToShoot == 1,則可以只得到百分比50% 即可在射程正中射擊。
您的繪圖方法似乎適用于 coneDirection ± angle/2,因此我們可以從該角度百分比中減去 0.5,以用距范圍中心的角距離來(lái)表示它。
然后我們可以使用與繪圖方法相同的數(shù)學(xué):coneDirection + 角度百分比 * 角度范圍:
public void OnStartShooting()
{
for (int i = 0; i < numToShoot; i++)
{
var projectile = Instantiate(projectileObject);
projectile.transform.position = projectileEmitter.position;
var projectileScript = projectile.GetComponent<Projectile>();
float anglePercentage;
if (numToShoot == 1)
anglePercentage = 0f;
else
anglePercentage = (float)i/(numToShoot-1f) - .5f;
projectileScript.moveDirection = DirFromAngle(
coneDirection
+ anglePercentage * angle, rayRange);
projectile.SetActive(true);
}
}
- 1 回答
- 0 關(guān)注
- 114 瀏覽