思路:
先画一滴从下落再到散开的雨滴,然后持续不断地将这个雨滴复制到画面上,从而产生下雨的效果.
步骤:
1.打开Flash MX 2004,新建文档,设置文档大小550*400像素,帧频设为30FPS,背景设为黑色.
2.按ctrl+F8新建一电影剪辑元件,在该元件中绘制一滴从下落再到散开的雨滴(形状渐变和动作渐变均可).最后一帧加帧代码stop();.
3.按ctrl+L打开库,选中刚建立的电影剪辑,按右键选择"链接",在接下来弹出的"链接属性"对话框中,将标识符设为drop,并勾选"为动作脚本导出"和"在第一帧导出".
4.回主场景,选中图层1第1帧,按F9打开动作脚本编辑窗口,输入以下代码:
function rain(){
var i = Math.floor(100*Math.random());
_root.attachMovie("drop","drop"+i,i);
var a = Math.floor(30*Math.random()+71);
var b = Math.floor(60*math.random()+41);
with(_root["drop"+i]){
_x = 550*Math.random();
_y = -100*Math.random();
_xscale=a;
_yscale=a;
_alpha=b;
}
updateAfterEvent();
}
setInterval(rain,20);
注解:
1.function rain(){...},自定义函数rain()。
1.var i = Math.floor(100*Math.random()); 随机产生0~100的整数,该整数用于设置所复制的雨滴的实例名和层次。
2.接下来在自定义rain()函数中进行雨滴的复制,并随机地设置所复制的雨滴的x坐标、y坐标、雨滴的x轴和y轴的等比例随机缩放、透明度。
3.“setInterval(rain,20);”语句含义是每隔20毫秒(1秒=1000毫秒)执行一次rain()函数,从而产生下雨效果。
说明:
1.setInterval所调用的函数只能是函数名,如本例是rain,不能是rain()。
2.如自定义函数供setInterval调用,则在该自定义函数中不能用this.如本例用了_root,似乎setInterval对函数的调用只能用绝对路径而不能用相对路径。对这一点还不能确认。
效果如下: