雪のアニメーション
これまたFlashの基本(?)の雪が降るアニメーションの作り方です
解説はつづきから
新規ファイル作成
ステージ設定はサイズを400×300、背景色を黒、フレームレートは30に
まずは背景を設置
新規シンボル作成からActionScriptに書き出しにチェックを入れて、クラス名をSnowに
色:白、線なし、で5×5の円を描く
それをさらにムービークリップシンボルに変換し、フィルタ:ぼかしを水平、垂直3に
シーン1に戻り、新規レイヤーを追加しActionScriptを記述
//雪の数 var num:int = 200; //雪をいれる配列 var sList:Array = []; for (var i:int = 0; i<num; i++) { //雪を作成 var snow:Snow = new Snow(); //雪の初期位置 snow.x = Math.random()*stage.stageWidth; snow.y = Math.random()*stage.stageHeight; //雪の大きさを生成順に小さくしていく snow.scaleX = snow.scaleY = 1/(0.02*i+1); //傾斜をつけて形をランダムに var mtx:Matrix = snow.transform.matrix; mtx.c = Math.random()-0.5; mtx.b = Math.random()-0.5; snow.transform.matrix = mtx; //雪を配置して配列にいれる addChildAt(snow, 1); sList.push(snow); //それぞれのX方向の速度設定 sList[i].vx = Math.random()-0.5; } //雪の動きのイベント addEventListener(Event.ENTER_FRAME,parallax); function parallax(e:Event):void { for (i=0; i<num; i++) { //X方向とY方向の動き設定(奥のものほど遅くなる) sList[i].x += sList[i].vx/(0.02*i+1); sList[i].y += 3/(0.02*i+1); //雪が画面の下にでたら上に移動 if (sList[i].y>300) { sList[i].x = Math.random()*stage.stageWidth; sList[i].y = 0; } } }
これでムービープレビューすると以下のようになってるかと思います
以上、雪のアニメーションの作り方でした