如何利用as制作闪电效果?
解决思路(必须要有)
通过复制影片剪辑x轴,y轴坐标,形成闪电的外形。然后利用random随机设置闪电的位置。
具体步骤(必须要有)
1,??运行flash?mx,设置文档属性,背景为黑色。
2,??新建一个影片剪辑,命名为“guo”。进入编辑区绘制一个渐变填充的矩形。矩形两侧的渐变填充为透明,这样可以是黑色的天空更好的融合。如图1所示。
?
图1???????绘制影片剪辑“guo”
3,?新建名称为“guoy”的影片剪辑,把“guo”放置在其中。制作闪烁效果。闪烁效果无非就是透明度高低和亮度的高低,我们采用透明度高低的方法制作。如图2所示。
?
图2?????制作闪烁效果
4,?光闪电闪了,天空是不是还要闪那?对,同样,制作一白色矩形,将塔拉到主场景中,同第二步一样,调节其渐变,要注重的是一定要配合影片剪辑guoy中的闪烁,guoy透明度一定要和天空闪烁透明度想符合。我们将其第五帧透明度设为20%。其它如图3所示。
图3????天空闪烁效果
5,?主场景中新建一个图层,从库中把“guoy”拖放到场景上方,并延长至第11帧。选中影片剪辑“guoy”,在属性面板中命名为“guoy”。如图4所示。
图4???命名影片剪辑
6,???先建一个图层as。给第1帧加上如下代码:
i?=?1;//初始化变量下面有用。
setProperty(_root.guoy,?_visible,?false);//设置原始mc不可见。
j?=?100+Number(random(300));//初始化变量,下面有用。
Max?=?random(350);//guoy罗列的最大量
Dis_x?=?random(3)-1;//两个罗列在一起的guoy在x方向上相错开。
?在第2帧插入空白要害帧,并添加代码:
while?(Number(i)<Number(Max))?//当复制的guoy不到350时
????{
?i?+=?1;//i自加1
?_root.attachMovie("guoy",?"guoy"?add?i,?i);//连接guoy到guoy+i上?????,层级为i。
?setProperty("guoy"?add?i,?_y,?i);//设置guoy+i的mc的y坐标为i,两个复制的guoyY坐标相差1便于连接。
?Distans_x?=?Number(random(5)-2)+Number(Dis_x);//两个guoy之间相差的Y坐标
?j?+=?Number(Distans_x);//j自加
?setProperty("guoy"?add?i,?_x,?j);//设置属性,不用说了吧
?setProperty("guoy"?add?i,?_xscale,?Max-i);//使复制出的guoyX方向上长度随i增大而减小。
}
while?(Number(i)<350)?{
?i?=?Number(i)+1;
?removeMovieClip("guoy"?add?i);//当复制出的guoy小于350时,及时清除
以前复制出的guoy以免,这次闪电出现上次余光。
}
7,保存,测试。参看源文件as制作闪电.fla
Word教程网 | Excel教程网 | Dreamweaver教程网 | Fireworks教程网 | PPT教程网 | FLASH教程网 | PS教程网 |
HTML教程网 | DIV CSS教程网 | FLASH AS教程网 | ACCESS教程网 | SQL SERVER教程网 | C语言教程网 | JAVASCRIPT教程网 |
ASP教程网 | ASP.NET教程网 | CorelDraw教程网 |