Flash精彩实例教程:萤火虫特效

王朝other·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

动画效果如下:

点击这里下载源文件

一、新建一FLASH文档,背景为黑色,大小800*600。

二、

1、按O使用“椭圆”工具,按住SHIFT拖动,在舞台上绘制一个无边框的圆。

2、打开”混色器“,用”放射性“填充,如图:

三、选中该圆,按F8转化为元件,行为:影片剪辑,即把圆转化为MC,并命名为”虫“。

四、选中主场景第1帧,打开动作面板,写上AS:

for(i=1;i<=20;i++){//循环,20为要复制“虫”的个数。

虫.duplicateMovieClip("虫"+i,i);//复制20只虫。

with(this["虫"+i]){

_x = random(Stage.width);//Stage.width为舞台宽。

_y = random(Stage.height);//Stage.height为舞台高。

}//让虫分布在舞台每个角落。

}

五、选中”虫“MC,打开动作面板,写上:

onClipEvent(load){

v = 3;//速度

_rotation = random(360);//让虫旋转为任意一角度。

}

onClipEvent(enterFrame){

k = Math.pow(-1,random(2));//随机产生1和-1。

_rotation += k*random(11);//让虫旋转为-10到10之间。

a = _rotation*Math.PI/180;//将角度转化为弧度。(详细查看上文)

dx = Math.cos(a)*v;

dy = Math.sin(a)*v;

//横纵坐标的移动量。(详细查看上文)

_x += dx;

_y += dy;

//限定虫移动的范围。(重点)

//解析:先确定范围。(宽:50--750;高:50--550)

if(_x <= 50 && dx<0 || _x >= 750 && dx>0){

_rotation = Math.atan2(dy,-dx)*180/Math.PI;

}//超出限定范围时,按照上面条件改变dx,

//并用Math.atan2使旋转角度发生相应变化,让运动方向改变。

如图6:

if(_y <= 50 && dy<0 || _y >= 550 && dy>0){

_rotation = Math.atan2(-dy,dx)*180/Math.PI;

}//原理同上。

六、按CTRL+ENTER调试,看看效果:)

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航