繁體
|
簡體
Sclub交友聊天~加入聊天室當版主
(檢舉)
分享
新浪微博
QQ空间
人人网
腾讯微博
Facebook
Google+
Plurk
Twitter
Line
标题:
flash怎么用函数取-60~60的随机数
[打印本页]
作者:
网雨霏霏
时间:
2016-6-3 09:27
标题:
flash怎么用函数取-60~60的随机数
本帖最后由 网雨霏霏 于 2016-6-3 09:28 编辑
问题地址:
http://tieba.baidu.com/p/4586544131
问题描述:如题
本帖陈述:因为问题抛出者没有给定代码的版本,所以这里分楼层给出两种代码的不同写法
2楼
沙发
是AS2写法
3楼
板凳
是AS3写法
作者:
网雨霏霏
时间:
2016-6-3 09:27
本帖最后由 网雨霏霏 于 2016-6-3 09:50 编辑
本楼层给出的是AS2的写法。并且给出两种方案
=============================================
第一种偏麻烦,但可拓展性强:
这里我定义了一个函数,可用于生成任意范围的随机数
function sjqz(min:Number,max:Number){
var shuzi:Number;
shuzi=min+random(max-min+1);
return shuzi;
}
复制
该函数名为sjqz,需要提供两个参数:
第一个是最小值,在本例中就是-60;
第二个是最大值,本例中就是60。
使用时,仅需如下调用即可sjqz(-60,60)
下面的代码用于测试效果:
for(i=0;i<500;i++){
trace(sjqz(-60,60));
}
复制
=============================================
第二种非常简单,但可拓展性弱
,需要你知道里面的数字的含义,才可以修改为其他情况可用的代码:
trace(-60+random(121))
复制
本行代码,就是用于输出你所需范围内的随机数的
作者:
网雨霏霏
时间:
2016-6-3 09:27
本帖最后由 网雨霏霏 于 2016-6-3 10:03 编辑
本楼层给出的是AS3的写法 :
仍然给出两种方案:
==============================================
第一种方案,也是制作成一个函数
,不过,AS3内,函数的参数可以有默认值,我这里分别设置了默认值为-60和60
那么,后续调用时无需带参数
function sjqz(min:int = -60,max:int = 60)
{
return min+Math.ceil(Math.random()*(max-min));//核心代码
}
for (var i:uint; i<500; i++)
{
trace(sjqz());//因为函数有默认值,这里不提供参数,就以默认值进行操作
}
复制
==============================================
第二种方案,不用函数
。但仍然可以非常完美的拓展。
var min:int = -60;//存储最小值
var max:int = 60;//存储最大值
for (var i:uint; i<500; i++)//使用一个循环,输出500次
{
trace(min+Math.ceil(Math.random()*(max-min)));//本代码的核心代码
}
复制
作者:
卿本佳人
时间:
2016-6-10 09:26
下面的文字引用自快速回复:
哇!你真有才!
欢迎光临 flash之路-flash技术交流 (http://flashroad.dhlog.com/)
Powered by Discuz! 7.2