快速业务通道

用Flash表现雷电的几种方法

作者 佚名技术 来源 服务器技术 浏览 发布时间 2012-07-14
这是闪电特性的反映,这是闪电的真正集合。那么我们需要如何来安排呢?如何来构造呢?在此过程中我们需要注意到什么内容,什么细节呢?带着一堆的问题我们开始我们的闪速Flash案例进程。

  让人叹为观止的是,在此实例中我们仅仅只用到了一个MC就实现了让人晕旋的效果,如下图7所示: ?
图8超自然闪电的库内容图   我们可以从Library库文件的缩略图中看到Light(MC)只是一根短短的小短柱,如果是你你会想到用它能做出闪电的特效吗? :)

  其实我们只要利用Flash的ActionScript的复制MC命令就可以将小短柱串连成一道道夺目的光芒。 ?
图9超自然闪电的主场景内容图
  现在让我们再来检查一下闪电在Flash主场景内的大致情况,如上图8所示,让我们跌破眼镜的是,在主场内我们也没有什么复杂的内容,只是简简单单的两层(AS层及Light层)。我们将Library中的Light(MC)拖至主场景内,并赋于实体名为basic于此MC,再接下来的工作看来就得完全的交给Flash来完成了。

  让我们先来查看一下AS层中第一帧的代码内容吧:

  heightstart = 10;
  heightrange = 50;
  anglestart = -80;
  anglerange = 160;
  setProperty ("basic", _visible, false);

  让我们稍为分析上述的代码,很容易我们就得出如下结论,利用这几行代码我们初始化了闪电的一些属性。如:heightstar高度开始的值,heightrange高度结束的值,anglestart角度开始的值,anglerange角度结束的值,最为设置basic(闪电)的可见性为否,稍后我们将再补充讲述它们的功能。

  然后,当我们查看AS层第二帧内容的时候会发现略有些头晕,当然只是代码行略多了几句而已啦,嘻嘻。

  //设设置循环变量I并付初值为1
   i = 1;
  //设置当前X与Y的起始值
  currentx = 300;
   currenty = 0;
  //建立循环
  do {
  //循环变量的递增
  i = i+1;
  //设置heightoffset与angleoffset的随机变化范围
  heightoffset = random(heightrange)+heightstart;
  angleoffset = random(anglerange)+anglestart;
  //创建新对象名称
  newobj = "basic" add i;
  //复制对象basic(闪电)
  duplicateMovieClip ("basic", newobj, i);
  //注:其实上面的两句可合并为一行代码duplicateMovieClip("basic" , "basic" add I, I);
  //以下几行设置了新对象的X、Y、高度、旋转解度、缩放的范围
  setProperty (newobj, _x, currentx);
  setProperty (newobj, _y, currenty);
  setProperty (newobj, _height, heightoffset);
  setProperty (newobj, _rotation, angleoffset);
  setProperty (newobj, _xscale, 100-5*i);
  //计算当前X、Y坐标值
  currentx = currentx-(Math.sin(angleoffset*3.14/180))*heightoffset*.7;
  currenty = currenty+(Math.cos(angleoffset*3.14/180))*heightoffset*.7;
  } while (i<20);

  至此应当说我们已经基本完成了该“超自然闪电”的制作过程了,为了加深大家对它的理解让我们再讲述一下它的创作基理。

  很明显,我们就是通过对于实例对象MC的复制,然后通过改变复制出来的新的对象的起始位置、长度、旋转角度及缩放层度来达到目标所要求的效果,在这里我们需要注意的是每个被创建的新对象之间需要比较好的“衔接”起来才能让闪电更为的逼真,否则我们的闪电则会变成“断电”了。因而我们希望大家自己能够需要花点时间去理解一下最后两行代码 currentx及currenty计算出的值的作用,或许大家可以利用trace出相应的值再来确认一下你们对这两个值的看法。原文件下载学习


  创造性的逼真闪电

  当我们完成了“超自然闪电”以后或许会发现,它确实很绚,却总感觉确实七分的真实,很直观的,它与现实中的闪电“一闪而过”

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号