下雪效果是FLASHA讵症慧鹱Ser们的入门级需求,涉及到使用代码动态添加元件到舞台,随机函数的使用,帧频事件/定时器事件的使用等。本篇是以AS3版本为基础,讲解如何制作下雪效果。
工具/原料
FLASHCS6软件
AS3代码初级水平
方法/步骤
1、打开FLASHCS6软件,新建一个AS3文档,如下。
2、将舞台背景色设置为黑色,或画一个黑色的形状。
3、在舞台上画一个雪花,如下图,我只是画一个圆,同学们可以自行发挥。
4、选择雪花转换为影片剪辑,并设置Actionscript链接如下图。设置成SNOW,其它默认即可。
5、然后将舞台上的雪花删除,在主时间轴加如下代码:varsnow_count:i艘绒庳焰nt=100;//雪花数量varsnowAry多唉捋胝:Array=newArray();//用于存放雪花init();functioninit():void{ for(vari:int=0;i<snow_count;i++) { snowAry.push(newSNOW());//添加雪花到数组 snowAry[i].x=stage.stageWidth*Math.random();//随机x坐标 snowAry[i].y=stage.stageHeight*Math.random();//随机y坐标 snowAry[i].alpha=0.3+0.7*Math.random();//随机透明度 snowAry[i].scaleX=snowAry[i].scaleY=0.3+0.7*Math.random();//随机大小 snowAry[i].spd=2+2*Math.random();//随机下落速度 this.addChild(snowAry[i]);//放置到舞台 } this.addEventListener(Event.ENTER_FRAME,AutoMoveEvent);//添加帧频事件开始动画}functionAutoMoveEvent(e:Event):void{ for(vari:int=0;i<snow_count;i++) { snowAry[i].y+=snowAry[i].spd; if(snowAry[i].y>stage.stageHeight+snowAry[i].height)//如果雪花到达舞台以外则重置 { snowAry[i].x=stage.stageWidth*Math.random();//随机x坐标 snowAry[i].y=-50;//固定y坐标 snowAry[i].alpha=0.3+0.7*Math.random();//随机透明度 snowAry[i].scaleX=snowAry[i].scaleY=0.3+0.7*Math.random();//随机大小 snowAry[i].spd=2+2*Math.random();//随机下落速度 } }}
6、代码没问题的话,现在ctrl+enter就可以看到下雪的效果了。如果想停驽怛判涮住下雪,则使用如下代码。this.removeEventListener(Event.ENTER_FRAME,AutoM泠贾高框oveEvent);