以文本方式查看主题

-  ╋艺 镇╋  (http://zyzsky.com/bbs/index.asp)
--  ┣◇FLASH交流  (http://zyzsky.com/bbs/list.asp?boardid=5)
----  as3 Math.random()  (http://zyzsky.com/bbs/dispbbs.asp?boardid=5&id=3106)

--  作者:admin
--  发布时间:2011/6/26 16:18:36
--  as3 Math.random()

基本的Random函数如下:
Math.random();
可以产生出0-1之间的任意小数,例如0.0105901374530933 或0.872525005541986,有几个其他的函数可以用来改变产生的数字,从而可以更好的在你的影片中使用:
Math.round();
Math.ceil();
Math.floor();

这几个函数都是用来取得整数的:Math.round();是采用四舍五入方式取得最接近的整数;Math.ceil();是向上取得一个最接近的整数;Math.floor();Math.ceil();相反,Math.floor();向下 取得一个最接近的整数。
结合这些函数,你就可以这样写:
Math.round(Math.random());


这个表达式可以生成一个0.0和1.0之间的一个数,然后四舍五入取得一个整数。这样所生成的数字就是0或1,这个表达式可以用在各有50%的可能的情况下,例如抛硬币,或者true/false指令。
*10 是将你所生成的小数乘以10,然后四舍五入取得一个整数:
Math.round(Math.random()*10);


要创建一个1到10之间的随机数,可以这样写:
Math.ceil(Math.random()*10);

因为是Math.ceil向上取值,所以不会产生0。要创建一个5到20的随机数可以这样写
Math.round(Math.random()*15)+5;

也就是说,如果要创建一个从x到y的随机数,就可以这样写
Math.round(Math.random()*(y-x))+x;
x和y可以是任何的数值,即使是负数也一样