Flash出色实例教程:萤火虫特效

2008-04-02 11:03:19来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折


  动画效果如下:

  

  

  


  一、新建一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调试,看看效果:)

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇: Flash5的十个高招

下一篇: Flash高级技巧学习:picturescroll鼠标滚动图片