【问题标题】:Actionscript 3.0 use Math.random()Actionscript 3.0 使用 Math.random()
【发布时间】:2014-04-26 17:03:01
【问题描述】:

Actionscript 使用 Math.random 这意味着什么 Right = 6 + Math.random() * 2;

我知道 Math.random 在 0-0.99 之间...但它会出现 (6 - 7) 吗?

【问题讨论】:

  • 我不确定我是否理解您的问题。 Math.random * 2 将是一个介于 0 和 2 之间的值。如果将 6 添加到其中,则会得到一个数字,即 6

标签: actionscript-3


【解决方案1】:

Math.random()返回一个大于等于0且小于1.0的数,即

0 <= Math.random() < 1.0

如果我们将它与b 相乘,那么我们会得到一个大于或等于 0 且小于 b 的数字,即

(0 * b) <= (Math.random() * b) < (1.0 * b)

0 <= (Math.random() * b) < b

如果我们加上a,那么我们会得到一个大于或等于a且小于a + b的数字,即

(a + 0) <= (a + Math.random() * b) < (a + b)

a <= (a + Math.random() * b) < (a + b)

所以,6 + Math.random() * 2 返回一个大于或等于 6 且小于 8 的数字。如果将其分配给一个整数,那么它将是 6 或 7。

【讨论】:

    【解决方案2】:

    我更喜欢编写一个函数来为您设置比例和范围。像这样:

    public static function getRandomNumber(low:Number=0, high:Number=1):Number
    {
        return Math.floor(Math.random() * (1+high-low)) + low;
    }
    

    现在你可以调用它了:

    getRandomNumber(6, 7); //returns 6-7 inclusive
    

    【讨论】:

      猜你喜欢
      • 2013-05-16
      • 2013-04-04
      • 1970-01-01
      • 1970-01-01
      • 2011-01-21
      • 2010-10-02
      • 2018-10-02
      • 1970-01-01
      • 2015-07-23
      相关资源
      最近更新 更多