的数字的基数,即进制数。如将二进制数1101转换为十进制整数:
trace(parseInt(1101, 2));
输出窗口中显示13。
要将数字转换成字符串可以使用Number对象(动作面板的“对象”/“核心”目录)的toString方法。要使用toString方法需要先创建一个Number对象,其用法如下:
myNumber = new Number(15);
trace(myNumber.toString(2));
trace(myNumber.toString(16));
toString中的参数与parseInt函数的第2个参数一样,都表示进制数。本例中的2和16分别表示将myNumber转换为二进制数和16进制数。运行脚本,输出窗口中显示
1111
f
如果省略参数,默认为十进制。
11.5 随机数
随机数在Flash中的应用非常广泛。
在Flash 5以前的版本中,使用random函数获取一个近似的随机数,如random(10)随机返回0~9这10个整数中的一个。但在Flash MX中推荐使用Math对象的random方法,即Math.random(),该方法返回一个大于或等于0并且小于1的随机浮点数。
Math.random方法比random函数得到的结果更精确,但它并不能直接产生一个整数。我们可以使用别的办法将Math.random方法产生的随机数转换为我们需要的整数,如要得到一个1~10之间的随机整数,可以使用如下所示的ActionScript:
trace(Math.floor(Math.random()*10+1));
11.6 练习:下雪
打开文件snow.fla,这是一个利用attachMovie和Math.random方法制作的下雪效果,其中每一片雪花的大小、方向各不相同,如图11-2所示。
该动画中形状各异的雪花与Math.random函数密不可分,下面来看它的制作方法。
(1)在库面板中为snow影片剪辑创建链接,其链接标识符为snow,如图11-3所示。
此主题相关图片如下:
图11-3 为影片剪辑添加链接
(2)将snow元件拖到场景中,选中该影片剪辑实例,在其中添加如下ActionScript:
onClipEvent (load) {
this._visible = false;
v0 = 3; //速度
num = 50; //数量
vx = new Array(); //记录水平速度的数组
vy = new Array();成 //记录垂直速度的数组
for (var i = 1; i<=num; i++) {
_root.attachMovie("snow", "snow"+i, i); //附加num个影片剪辑实例
scale = 100*Math.random()+50; //随机设定实例大小
with (_root["snow"+i]) { //with语句
_xscale = scale;
_yscale = scale;
_x = 500*Math.random(); //随机出现在影片水平宽度范围
_y = 400*Math.random(); //随机出现在影片垂直高度范围
_rotation = 360*Math.random(); //随机旋转一个角度
vx[i] = v0*Math.random()+v0; //随机取得水平方向上的速度
vy[i] = v0*Math.random()+v0; //随机取得垂直方向上的速度
}
}
}
onClipEvent (enterFrame) {
for (var i = 1; i<=num; i++) {
with (_root["snow"+i]) {
_x += vx[i]; //在水平方向上运动
_y += vy[i]; //在垂直方向上运动
if (_x<0) { //超出左边界,从右边界进入
_x = 500;
}
if (_x>500) { //超出右边界,从左边界进入
_x = 0;
if (_y>400) { //超出下边界,从上边界进入
_y = 0;
}
}
}
}
以上脚本除了用到数组、attachMovie、Math.random等知识外,还用到了with动作。with动作用来为一组动作脚本指定一个对象,如本例用with动作指定对象_root["snow"+i],并在其后的大括号中对该对象的多种属性进行修改,从而避免了为每一个属性重复指定相同的对象,使脚本更紧凑和更简化。
关键字分类目录,你应该会注意到当你在左边的目录中选中某个关键字时,面板右边的上面部分会给出与所选关键字相应的简单定义。你会看见这样的句子:“要添加某项,可双击该项或将其拖动到脚本窗口。
例如选中goto命令时,你会看到这样的提示:“转到影片的指定帧。”它显示了该脚本的基本功能。
单击别的命令查看一下它们的定义,在学习下面的知识之前,你可以花些时间多看一下动作面板中的命令。
2.4.2 脚本参考面板
Flash使用脚本参考面板帮助你记住ActionScript的语法。可以选择“窗