您的位置:阿里西西 > 前端技术 > 界面设计 > 详细内容

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

  本站整理   网络搜集   2008-08-25   点击:   我要评论
教程|特效
  动画效果如下:

点击这里下载源文件

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

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

  二、

  1、按O使用“椭圆”工具,按住SHIFT拖动,在舞台上绘制一个无边框的圆。
  2、打开”混色器“,用”放射性“填充,如图:

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


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

  三、选中该圆,按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:

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

if(_y <= 50 && dy<0 || _y >= 550 && dy>0){
_rotation = Math.atan2(-dy,dx)*180/Math.PI;
}//原理同上。

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



更多关于 的文章
会员评论所有会员评论

  

相关排行总榜

网页教程

站长文章

特效排行