forked from: Blur Circle
なぜかクリックしないと描画されない><
-> 別のマシンだと動いた
@author ll_koba_ll (RAWHIDE.)
// forked from ll_koba_ll's Blur Circle
// write as3 code here..
package
{
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.filters.*;
// なぜかクリックしないと描画されない><
// -> 別のマシンだと動いた
[SWF(frameRate="60", backgroundColor="#000000")]
/**
*
* @author ll_koba_ll (RAWHIDE.)
*/
public class Rotationlight extends Sprite
{
private var blur:BlurFilter;
private var container:Sprite;
private var source:Sprite;
private var bmpd:BitmapData;
public function Rotationlight()
{
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;
stage.quality = StageQuality.LOW;
init();
addEventListener(Event.ENTER_FRAME, update);
}
private function init():void
{
trace(stage.stageWidth)
blur = new BlurFilter(4,4);
bmpd = new BitmapData(500, 500, true, 0x00FFFFFF);
container = new Sprite();
source = new Sprite();
addChild(new Bitmap(bmpd));
container.addChild(source);
drawSource();
}
private function drawSource( xx:Number = 4, yy:Number = 4 ):void {
if ( xx > 100 ) xx = 100;
if ( yy > 100 ) yy = 100;
with(source.graphics)
{
clear();
beginFill( Math.random() * 0xFFFFFF );
drawCircle(0,0,(xx>yy)?xx:yy*2.5);
endFill();
}
}
private function update(e:Event = null):void
{
bmpd.draw(container, null, null, BlendMode.ADD);
bmpd.applyFilter(bmpd, bmpd.rect, new Point(), blur);
drawSource( Math.abs(source.x - mouseX), Math.abs(source.y - mouseY) );
source.x = mouseX;
source.y = mouseY;
}
}
}