1

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

我的问题:

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

无论如何,它现在是这样的:

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 提供更多参数,但它已经有最小值和最大值。

你能给我一些建议吗?

4

1 回答 1

0

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

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

附录:

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

于 2013-01-02T22:40:05.083 回答