如何利用as制作闪电效果?
解决思路(必须要有)
通过复制影片剪辑x轴,y轴坐标,形成闪电的形状。然后利用random随机设置闪电的位置。
具体步骤(必须要有)
1,运行flashmx,设置文档属性,背景为黑色。
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)
{
i+=1;//i自加1
_root.attachMovie("guoy","guoy"addi,i);//连接guoy到guoy+i上,层级为i。
setProperty("guoy"addi,_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"addi,_x,j);//设置属性,不用说了吧
setProperty("guoy"addi,_xscale,Max-i);//使复制出的guoyX方向上长度随i增大而减小。
}
while(Number(i)<350){
i=Number(i)+1;
removeMovieClip("guoy"addi);//当复制出的guoy小于350时,及时清除
以前复制出的guoy以免,这次闪电出现上次余光。
}
7,保存,测试。