雨のエフェクト
梅雨まっさかりということで雨のエフェクトです
解説はつづきから
新規ファイル作成
ステージ設定はサイズを400×300、フレームレートを30
作成しやすいように背景を黒に
ステージに好きな画像を配置
新規シンボルの作成から詳細設定→ActionScriptに書き出し→クラス名Rain
涙滴の形をした図形を描き、幅1px、高さ100px
グラデーションをかけ、ふくらんでいるほうを色#FFFFFF、透明度30%
細くなっているほうを色#FFFFFF、透明度15%
線はなし
少しだけ回転
シーン1に戻って、新規レイヤーをつくりActionScriptを記入
まずは雨の配置
var offset:int = 50; //rainが横に動く分ずらす var drops:int = 100; //雨の数 var rainArray:Array = new Array; //雨配置 for (var i:int = 0; i < drops; i++) { var rain:Rain = new Rain(); //雨の初期位置 rain.x = Math.random() * (stage.stageWidth + offset); rain.y = Math.random() * stage.stageHeight; //雨の大きさ設定 rain.scaleX = Math.round(((Math.random() * 0.8) + 0.3) * 10) / 10; rain.scaleY=rain.scaleX; addChild(rain); rainArray.push(rain); //rainを配列に格納 }
次に雨の動き設定
var offset:int = 50; //rainが横に動く分ずらす var drops:int = 100; //雨の数 var windSpeed:int = 3; //X方向の移動量 var fallSpeed:int = 18; //Y方向の移動量 var rainArray:Array = new Array; //雨配置 for (var i:int = 0; i < drops; i++) { var rain:Rain = new Rain(); //雨の初期位置 rain.x = Math.random() * (stage.stageWidth + offset); rain.y = Math.random() * stage.stageHeight; //雨の大きさ設定 rain.scaleX = Math.round(((Math.random() * 0.8) + 0.3) * 10) / 10; rain.scaleY=rain.scaleX; addChild(rain); rainArray.push(rain); //rainを配列に格納 } //雨の動き addEventListener(Event.ENTER_FRAME,dropRain); function dropRain(evt:Event):void { for (var i:int = 0; i < drops; i++) { rainArray[i].x -= windSpeed; rainArray[i].y += fallSpeed; //雨がステージより下にいった後の処理 if (rainArray[i].y > stage.stageHeight + rainArray[i].height) { rainArray[i].x = Math.random() * (stage.stageWidth + offset*2); rainArray[i].y = 0 - rainArray[i].height; windSpeed = Math.round(Math.random() *5); } } }
ムービープレビューすると雨のエフェクトができてるかと思います
以上雨のエフェクトの作り方でした