FLASH CS6中如何使用代码制作下雪效果(AS3版)
下雪效果是FLASH ASer们的入门级需求,涉及到使用代码动态添加元件到舞台,随机函数的使用,帧频事件/定时器事件的使用等。本篇是以AS3版本为基础,讲解如何制作下雪效果。
打开FLASH CS6软件,新建一个AS3文档,如下。
将舞台背景色设置为黑色,或画一个黑色的形状。
在舞台上画一个雪花,如下图,我只是画一个圆,同学们可以自行发挥。
选择雪花转换为影片剪辑,并设置Actionscript链接如下图。设置成SNOW,其它默认即可。
然后将舞台上的雪花删除,在主时间轴加如下代码:
var snow_count:int=100;//雪花数量
var snowAry:Array=new Array();//用于存放雪花
init();
function init():void
{
for(var i:int=0;i { snowAry.push(new SNOW());//添加雪花到数组 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);//添加帧频事件开始动画 } function AutoMoveEvent(e:Event):void { for(var i:int=0;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();//随机下落速度 } } } 代码没问题的话,现在ctrl+enter就可以看到下雪的效果了。 如果想停住下雪,则使用如下代码。 this.removeEventListener(Event.ENTER_FRAME,AutoMoveEvent);
版权声明:本站【趣百科】文章素材来源于网络或者用户投稿,未经许可不得用于商用,如转载保留本文链接:https://www.qubaik.com/article/118207.html