photoshop互助课堂flash视频教程合集中国教程网《Photoshop专家讲堂》光盘热售参与论坛活动,快速赚取金币精品素材,中英文字体
发新话题
打印

[教程] 编程制作闪电效果

本主题由 红岩梦幻数码 于 2007-10-23 12:00 设置高亮

编程制作闪电效果


——转自网络——

  在这个效果里有用到ACTION,如果你不会就赶快先学好ACTION吧。还用到了我们中学时学过的三角函数,为了这个效果我还专门找邻居家的小弟弟,借来他的教科书,把三角函数好好学了一下。现在真是后悔当初怎么不好好读书呀!
  好了,#我就不放了,进入正题吧。首先做一个如左图的MC,聪明的你一定看出来了,他是由三个部份组成的,上面一个半圆,中间一个矩形,下面又一个半圆。要注意MC的中心点要在上一个半圆的圆心的位置。下面我就称它为"闪光段"。
 传统的教育是一步一步,按步就搬,现在不是流行启发式教育吗?我们不妨先来看看做成品。


 下面我就来讲解一下我的算法:
  整个闪电是由一定数量“闪光段”的替身组成。每节“闪光段”的长度和旋转角度都是不定的,这可以用random(随机函数)来实现。而“闪光段”的粗细则是从大到小变化的。第一个“闪光段”的位置是固定的,而第二个“闪光段”的位置是利用前一个“闪光段”的长度和旋转角度通过三角函数计算出来的。
  具体做法:
  先把“闪光段”MC拖到场景中,起名为“basic”,第一个关键帧后加入一个关键帧,整个动画只有两个关键帧。
  下面是第一帧的程序:(红色文字是注释)

heightstart = 10;  定义“闪光段”高度的最小值heightrange = 50;  定义“闪光段”高度的范围
anglestart = -80;  定义“闪光段”转角的最小值
anglerange = 160;  定义“闪光段”转角的范围
setProperty ("basic", _visible, false);   设置“闪光段”basic在场景中不可见

下面是第二帧的程序:(红色文字是注释)
i = 1; //置循环初值currentx = 300; //第一个闪光段的位置(X)currenty = 0; //第一个闪光段的位置(Y)do {  i = i+1;  heightoffset = random(heightrange)+heightstart; //产生随机长度  angleoffset = random(anglerange)+anglestart; //产生随机旋转角度  newobj = "basic" add i; //产生一个字符串,用于下一条语句中。  duplicateMovieClip ("basic", newobj, i);   //复制新的闪光段,用newobj中的字符串为其命名,设置它的深度为i  setProperty (newobj, _x, currentx); //设置刚复制的闪光段的位置(X)  setProperty (newobj, _y, currenty); //设置刚复制的闪光段的位置(Y)  setProperty (newobj, _height, heightoffset); //设置刚复制的闪光段的长度  setProperty (newobj, _rotation, angleoffset); //设置刚复制的闪光段的旋转角度  setProperty (newobj, _xscale, 100-5*i); //设置刚复制的闪光段的粗细  currentx = currentx-(Math.sin(angleoffset*3.14/180))*heightoffset*.7;  //计算下一个闪光段的位置(X)  currenty = currenty+(Math.cos(angleoffset*3.14/180))*heightoffset*.7;  //计算下一个闪光段的位置(X)} while (i<20); //设置循环结束条件,数值越大,闪电的段数越多,当然太多会超出屏幕,可以改小长度。  好了就讲到这地吧

[ 本帖最后由 红岩梦幻数码 于 2007-8-23 11:32 编辑 ]
附件: 您所在的用户组无法下载或查看附件,您需要注册/登录后才能查看!
本帖最近评分记录
  • 祥云 金币 +2 对论坛及大家的贡献 2007-11-16 15:06
  • 祥云 热心度 +2 对论坛及大家的贡献 2007-11-16 15:06
  • 清风掠影 金币 +2 对论坛做出贡献 2007-11-16 13:44
  • 清风掠影 热心度 +2 对论坛做出贡献 2007-11-16 13:44
  • 云飘飘 金币 +2 精品文章 2007-8-23 15:58
  • 云飘飘 热心度 +2 精品文章 2007-8-23 15:58

TOP


好东西...
最後的執著 遺失的美好 永恒的傷

讲解好详细,坐板凳慢慢学

回复 #3 云飘飘 的帖子


呵呵云飘飘学的真快

不错.但是我只能看了.

看看啊#@jcwcn@@#
·你有一个苹果,我有一个苹果,交换后每人还是一个苹果; 你有一种思想,我有一种思想,交换后每人有两种思想!

哦!原谅我数学差,看到这些算来算去的东东就头痛jcwcn.com@

好呀,好呀(^#@#@

(^#@%^ 才看到~这要学下~喜欢这样的教程~(^#@#@
想赚钱,看置顶
梦醒梦睡梦中花落泪,缘起缘灭缘尽心破碎~             Flash研讨交流群:54859134 加群请写上论坛名和ID  进来潜水的就不要加了


(^#@^ 好文章,赞一个。

晕了……
萁實……莪哽囍歡寫尛說

好东西

看到代码就晕了 可又很想学 哎
发新话题