1

我正在尝试让 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;
    }            
}

按我的意图工作 ……朝着他们所面临的方向前进。

不工作 不工作。我希望每个子弹都随着它们的旋转而移动。

请帮我!

4

0 回答 0