首页 > 解决方案 > 两个对象在 Unity 中不断获得相同的随机数

问题描述

我为四种不同的汽车编写了代码,它们在 C# 中都有相同的代码。他们的目标是(随机)选择一条车道,然后以一定的速度沿着该车道行驶,但是,每当我执行代码时,所有汽车都在一条车道上相互堆积。

我试图在互联网上寻找解释,但所有这些都已经过时了。

我正在使用 Unity 2019.4,这是我的代码。任何帮助将不胜感激。

if (ypos < -7)
{ // n
    Random rnd = new Random();
    int ran = rnd.Next(1, 5);
    if (ran == 1)
    {
        if (isTouching)
        {
            transform.localPosition = new Vector3(-2.4f, -9.0f, transform.localPosition.z);
        }

        transform.localPosition = new Vector3(-2.4f, 9.0f, transform.localPosition.z);
    }
    else if (ran == 2)
    {
        if (isTouching)
        {
            transform.localPosition = new Vector3(-2.4f, -9.0f, transform.localPosition.z);
        }
        transform.localPosition = new Vector3(0.0f, 9.0f, transform.localPosition.z);
    }
    else if (ran == 3)
    {
        if (isTouching)
        {
            transform.localPosition = new Vector3(-2.4f, -9.0f, transform.localPosition.z);
        }
        transform.localPosition = new Vector3(2.5f, 9.0f, transform.localPosition.z);
    }
    else if (ran == 4)
    {
        if (isTouching)
        {
            transform.localPosition = new Vector3(-2.4f, -9.0f, transform.localPosition.z);
        }
        transform.localPosition = new Vector3(5.0f, 9.0f, transform.localPosition.z);
    }


}
else
{
    transform.localPosition = new Vector3(transform.localPosition.x, transform.localPosition.y - speed, transform.localPosition.z);
}
}
}

标签: c#visual-studiounity3drandom

解决方案


推荐阅读