눈발이 몇 송이 날리다가 이내 함박 눈이 펑펑 날리기 시작.
꽤나 쌓일 듯 보였던 눈은 강렬한 석양 햇살에 모두 녹아 마치 눈이 내린 적 없는 듯 보일 정도로 사라져 버렸다.

Flash CS4+ActionScript 3.0으로 눈 내리는 효과를 간만에 다시 만들어 봤다.
* 눈송이의 낙하 속도를 눈송이의 크기와 연계시켜 작은 눈송이일 수록 천천히 내리게 표현했다.
* 눈송이들을 생성하여 snowTray란 스프라이트에 추가시킨 뒤 화면에는 snowTray로 한꺼번에 추가시켰다.

15/3/11 수

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;
          }
     }
}