在Unity3d中使用Random.Range无法正常工作

本文关键字:常工作 工作 Unity3d Range Random | 更新日期: 2023-09-27 18:20:32

我想创建一个随机数,并使用Random.Range方法。但当我打Random.Range时,它会给我一个奇数,我再打一次,它会告诉我一个偶数:

//example
calling random.range =1
calling random.range =4
calling random.range =17
calling random.range =2
calling random.range =3

一个奇数一个偶数,但我不想要这个我想要:

//example
calling random.range =1
calling random.range =5
calling random.range =4
calling random.range =7
calling random.range =6
calling random.range =12

我该怎么解决?

在Unity3d中使用Random.Range无法正常工作

这是一个有趣的行为。我试着复制它,但我做不到——也许它只发生在特定的范围内,你在使用什么随机范围?

无论如何,你不必使用单位随机范围,你可以使用例如:

public static class MyRandom {
    static System.Random rnd = new System.Random();
    public static int Range(int min, int max) {
        return min + rnd.Next() % (max + 1);
    }
}

然后使用MyRandom.Range(0, 10)

尝试random.rangeMin或random.rageMin()