【问题标题】:Using Random.Range not working correctly in Unity3d在 Unity3d 中使用 Random.Range 无法正常工作
【发布时间】:2016-02-05 14:19:44
【问题描述】:

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

我该如何解决这个问题?

【问题讨论】:

    标签: c# random unity3d scripting


    【解决方案1】:

    试试 random.rangeMin 或 random.rangeMin()

    【讨论】:

    • 我不能使用那个错误:UnityEngine.Random' does not contain a definition for rangeMin'
    【解决方案2】:

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

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

    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)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-12
      • 2015-12-29
      • 2016-12-01
      • 2020-11-21
      • 1970-01-01
      相关资源
      最近更新 更多