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

时间:2015-11-04 21:58:59

标签: c# random unity3d scripting

我想创建一个随机数,我使用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

我该如何解决?

2 个答案:

答案 0 :(得分:1)

这是一个有趣的行为。我试图重现它,但我不能 - 也许它只发生在一个特定的范围内,你使用的是什么随机范围?

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

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)

答案 1 :(得分:-1)

尝试random.rangeMin或random.rangeMin()