使用Math.random的Actionscript是什么意思Right = 6 + Math.random()* 2;
我知道Math.random在0-0.99之间......但它会出来(6 - 7)吗?
答案 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