1 回答
TA贡献1893条经验 获得超10个赞
对于i第一个对象,从范围的一侧到另一侧的角距离分数可以用公式 i/(numToShoot-1) 表示,其中 numToShoot > 1 的值。如果 numToShoot == 1,则可以只得到百分比50% 即可在射程正中射击。
您的绘图方法似乎适用于 coneDirection ± angle/2,因此我们可以从该角度百分比中减去 0.5,以用距范围中心的角距离来表示它。
然后我们可以使用与绘图方法相同的数学: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 关注
- 81 浏览
添加回答
举报