マウスカーソル追尾処理 + ブラーエフェクト
forked from マウスカーソル追尾処理 (diff: 29)
マウスカーソルの追尾処理に加えてブラーエフェクトをかけたエフェクトを表示
ActionScript3 source code
/**
* Copyright Makoto_Tanaka ( http://wonderfl.net/user/Makoto_Tanaka )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/dT28
*/
// forked from Makoto_Tanaka's マウスカーソル追尾処理
/*
* マウスカーソルの追尾処理
* ブラーをかけたエフェクトを追加
*/
package {
import flash.filters.BlurFilter;
import flash.events.Event;
import flash.events.MouseEvent;
import flash.display.BitmapData;
import flash.display.Bitmap;
import flash.display.Sprite;
import caurina.transitions.Tweener;
[SWF(backgroundColor="#000000")]
public class FlashTest extends Sprite {
private var _dot:Bitmap;
// コンストラクタ
public function FlashTest() {
init();
this.addEventListener(Event.ENTER_FRAME, onEnterFrame);
}
// 初期処理
private function init():void {
_dot = createDot(0xffffff);
addChild(_dot);
}
// エンターフレームイベント
// ドットがマウスカーソルの位置を追う
private function onEnterFrame(e:Event):void {
_dot.x += (stage.mouseX - _dot.x) * 0.2;
_dot.y += (stage.mouseY - _dot.y) * 0.2;
var red:Number = (Math.random() * 0x88 + 0x88) << 16;
var green:Number = (Math.random() * 0x88 + 0x88) << 8;
var blue:Number = (Math.random() * 0x88 + 0x88);
var color:Number = red + green + blue;
for (var i:int=0; i<3; i++) {
var effect:Bitmap = createDot(color);
effect.x = _dot.x;
effect.y = _dot.y;
effect.filters = [new BlurFilter()];
Tweener.addTween(effect, {alpha:0, x:effect.x + (Math.random()*30) - 15, y:effect.y + (Math.random()*60) - 30, time:3, onComplete:function():void { this.removeChild(effect); }});
addChild(effect);
}
}
// ドットの作成
private function createDot(color_:Number):Bitmap {
var bmpData:BitmapData = new BitmapData(5,5,false,color_);
var bmp:Bitmap = new Bitmap(bmpData);
return bmp;
}
}
}
