backMovie, snowMovie란 이름의 배경, 눈송이 무비클립을 라이브러리에 만들어 뒀다.
var snowNum = 80; //눈 송이 수 설정.
var snowArr:Array = new Array();
var snowTray:Sprite = new Sprite();
var back:MovieClip = new backMovie();
function init(){
addChildAt(back,0); //배경화면 맨 밑에 붙이기
back.x=-100; back.y=-45;
snowInit(); //눈들 초기화
addChildAt(snowTray,1); //눈들 화면에 붙이기
stage.addEventListener(Event.ENTER_FRAME,loop);
}
function loop(e:Event){
snowMove();
}
function snowInit(){ //눈들 생성, 초기화
for(var i=0; i < snowNum; i++){
var sn:MovieClip = new snowMovie();
snowTray.addChild(sn);
var size = Math.random()*0.3+0.1; //눈 크기 초기화
sn.scaleX = sn.scaleY = size;
sn.x = Math.floor(Math.random()*550)-50; //눈 최초 위치 초기화
sn.y = Math.floor(Math.random()*300);
sn.vx = Math.floor(Math.random()*3); //눈 수평 속도 초기화
sn.vy = size * 10; //눈 낙하속도 눈의 크기에 의해 초기화
snowArr.push(sn);
}
}
function snowMove(){ //눈들 움직임 처리
for(var i=0; i < snowNum; i++){
snowArr[i].x += snowArr[i].vx;
snowArr[i].y += snowArr[i].vy;
if(snowArr[i].y > 410){ //눈이 화면 아래로 넘어갈 때 처리
snowArr[i].y = -20;
snowArr[i].x = Math.floor(Math.random()*550)-50;
var size = Math.random()*0.3+0.1; //눈 크기 초기화
snowArr[i].scaleX = snowArr[i].scaleY = size;
snowArr[i].vy = size * 10;
continue;
}
}
}
|