您的位置:首页 > 编程语言

Flash实用编程--下雨动画的制作

2007-06-16 22:31 232 查看
  先画一滴从下落再到散开的雨滴,然后持续不断地将这个雨滴复制到画面上,从而产生下雨的效果.

  步骤:

  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对函数的调用只能用绝对路径而不能用相对路径。对这一点还不能确认。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: