Actionscript 3.0使用Math.random()

时间:2014-04-26 17:03:01

标签: actionscript-3

使用Math.random的Actionscript是什么意思Right = 6 + Math.random()* 2;

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

2 个答案:

答案 0 :(得分:3)

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。

答案 1 :(得分:1)

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

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