我正在尝试让 5 颗子弹同时朝不同的方向射击(-30, -15, 0, 15, 30)
当我朝正确的方向射击时它可以工作,但是当我射击时left(rotation(0,-180,0)
,它会忽略它的旋转并沿直线移动。
对于子弹移动,我正在使用:
if (t.rotation.y.Equals(0))
{
t.Translate(t.right * bSpeed * Time.deltaTime);
}
else
{
t.Translate(t.right * -1 * bSpeed * Time.deltaTime);
}
对于子弹旋转:
for (int i = 0; i < 5; i++)
{
GameObject bt = objectPool.SpawnFromPool(Bullet, firePoint.position, firePoint.rotation);
switch (i)
{
case 0:
bt.transform.Rotate(0, 0, -30);
break;
case 1:
bt.transform.Rotate(0, 0, -15);
break;
case 2:
bt.transform.Rotate(0, 0, 0);
break;
case 3:
bt.transform.Rotate(0, 0, 15);
break;
case 4:
bt.transform.Rotate(0, 0, 30);
break;
}
}
按我的意图工作 ……朝着他们所面临的方向前进。
不工作 不工作。我希望每个子弹都随着它们的旋转而移动。
请帮我!