Forked from: ll_koba_ll's forked from: forked from: Blur Circle diff:1 forked from: forked from: forked from: Blur Circle hacker_52ao1.. forked:0favorite:0lines:53license : All rights reserved modified : 2009-04-15 10:09:06 Embed Tweet // forked from ll_koba_ll's forked from: forked from: Blur Circle // forked from minon's forked from: Blur Circle // 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(1,5); 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, Math.random()*1); drawCircle(0,0,(xx>yy)?xx:yy*2.5); endFill(); } } private function update(e:Event = null):void { bmpd.draw(container, null, null, BlendMode.DIFFERENCE ); 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; } } } Code Fullscreen Preview Fullscreen source mouseY mouseX BlendMode.DIFFERENCE Math.abs StageQuality.LOW StageAlign.TOP_LEFT align scaleMode StageScaleMode.NO_SCALE quality clear graphics drawCircle addEventListener trace endFill beginFill applyFilter BlurFilter