キラキラエフェクト
街もキラキラしてきたので、キラキラするエフェクトの作り方です
解説はつづきから
新規ファイル作成
ステージ設定はサイズを400×300、フレームレートは30に
背景となる画像を配置
新規レイヤーを作成し、ActionScriptを記述
//1度に発生させるキラキラの数 var num:int = 5; //キラキラの土台を設置するためのBitmapを配置 var base:BitmapData = new BitmapData(400, 300, false, 0x000000); var baseM:Bitmap = new Bitmap(base); //黒い部分は透けて見えるようにブレンドモードをスクリーン baseM.blendMode = BlendMode.SCREEN; addChild(baseM); //キラキラを表現するためのBitmapをbaseの上に配置 //4分の1で作成してから4倍にすることによって //大きなキラキラがときどき出現する var wrap:BitmapData = new BitmapData(400/4, 300/4, false, 0x000000); //smoothingをtrue var wrapM:Bitmap = new Bitmap(wrap, PixelSnapping.NEVER, true); wrapM.scaleX = wrapM.scaleY = 4; wrapM.blendMode = BlendMode.SCREEN; addChild(wrapM); //タイマー設定、タイマーイベントスタート var timer:Timer = new Timer(30); timer.addEventListener(TimerEvent.TIMER, loop); timer.start(); function loop(e:Event):void { //処理が軽くなるように描画が終わるまでロック base.lock(); //baseを黒で塗りつぶすことで前回の描画をクリア base.fillRect(base.rect, 0x000000); //base上にランダムに白色の点を描画 for (var i=0; i<num; i++) { var px = Math.random()*stage.stageWidth; var py = Math.random()*stage.stageHeight; base.setPixel(px, py, 0xffffff); } //描画が終わったらロックを外して表示 base.unlock(); //baseをwrapに描画 wrap.draw(base); }
これでムービープレビューすると以下のようになってるかと思います
以上、キラキラエフェクトの作り方でした