趣百科

FLASH CS6中如何使用代码制作下雪效果(AS3版)

编辑:Simone 2025-01-13 13:01:11 572 阅读

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

相关推荐