错误CS1729:类型`UnityEngine.Random'不包含带有'1'参数的构造函数

时间:2013-01-02 16:57:04

标签: random arguments range unity3d

我过去做过一些初级编码,现在我正在学习Unity并尝试用C#做一些事情。

我的问题:

我有一个对象列表,它们的ID号在1-50范围内。我希望我的游戏随机选择一个对象,而不是按顺序遍历列表。第一步是选择初始ID为一些随机数,但我只得到错误:"错误CS1729:类型UnityEngine.Random' does not contain a constructor that takes 1'参数&#34 ;.我理解我应该为构造函数提供更多参数,但是我需要帮助看看如何,因为代码看起来很好(如果简单)给我。

无论如何,此刻它是这样的:

public int id;

public int randomid;

public void RandId(int id)
{
    Random randomid = new Random(Random.Range(1, 51));
    id = randomid;
    return id;
}

这里id是对象的标识号,randomid用于随机化,我使用Random.Range创建想要的范围(1-50)。看来我需要给Random.Range提供更多的参数,但它已经有了min和max。

你能给我一些建议吗?

1 个答案:

答案 0 :(得分:0)

您的代码还有其他一些问题,但这应该是您需要的。

public void SetIDToRandom(out int id)
{
    id = (int)Random.Range(1, 51);
}

附录:

Random 是一个静态类,您不直接实例化它。