Unity - 无法在 class 构造中生成随机数

Unity - Cannot generate random number within a class construct

我一直在尝试在 Unity 中使用 C# 创建自己的 class,但我遇到了一个小问题。在我的 PlayerClass 构造 中,我想使用 Random.Range (0, 9) 生成一串 六个随机数 用作参考号.目前,我用来执行此操作的代码行如下所示:

refNum = Random.Range (0, 9) + Random.Range (0, 9) + Random.Range (0, 9) + Random.Range (0, 9) + Random.Range (0, 9) + Random.Range (0, 9);

我在 class 顶部的构造之外创建了变量 refNum。每次我 运行 我的游戏都会收到一条错误消息,提示我无法从 class 构造中生成随机数。有人知道解决这个问题的方法吗?

非常感谢,

汤米

要获得包含六个随机数字 (0-9) 的字符串,您首先需要确定要使用哪个 Random class(来自 UnityEngine 或来自System)。如果您使用 UnityEngine 中的那个,您应该这样做:

string randomString = Random.Range(0, 9).ToString() + Random.Range(0, 9).ToString() + Random.Range(0, 9).ToString() + Random.Range(0, 9).ToString() + Random.Range(0, 9).ToString() + Random.Range(0, 9).ToString();

或者更优雅的方式:

string randomString = "";
    for (int i = 0; i < 6; i++)
        randomString += Random.Range(0, 9).ToString();