displaySnow();
function displaySnow() {
for (var i:int=0; i<40; i++) {
var snowFlake:SnowFlake=new SnowFlake(400);
addChild(snowFlake);
snowFlake.x=Math.random()*550;
snowFlake.y=Math.random()*400;
snowFlake.alpha=0.2+Math.random()*5;
snowFlake.scaleX=snowFlake.scaleY=0.4+Math.random()*1.5;
}
}
//===================雪花类SnowFlake.as===================
package {
import flash.display.MovieClip;
import flash.events.Event;
public class SnowFlake extends MovieClip {
private var radians:Number=0;
private var speed:Number=0;
private var maxHeight:Number;
public function SnowFlake(maxHeight_:Number) {
speed=0.5*Math.random();//[0.01,0.51)
maxHeight=maxHeight_;
this.addEventListener(Event.ENTER_FRAME,snowing);
}
private function snowing(e:Event):void {
radians+=speed;
//如果此处不用Math.cos(),而用普通的this.x+=Math.random()*2,左右晃动效果会很明显
this.x+=Math.cos(radians);
this.y+=2;
if (this.y>maxHeight) {
this.y=-20;
}
}
}
}