package com.mrdoob.display { import flash.display.Sprite; import flash.display.Bitmap; import flash.display.BitmapData; import flash.filters.BlurFilter; import flash.events.Event; import flash.geom.Rectangle; import flash.geom.Point; public class Blobalise extends Sprite { private var target :Sprite; private var render :Bitmap; private var renderWidth :Number; private var renderHeight :Number; public function Blobalise( _target:Sprite, _renderWidth:Number, _renderHeight:Number, _autoUpdate:Boolean ) { target = _target; renderWidth = _renderWidth; renderHeight = _renderHeight; render = new Bitmap( new BitmapData( renderWidth, renderHeight, false, 0x00FFFFFF ) ); addChild(render); if (_autoUpdate) addEventListener( Event.ENTER_FRAME, update ); } public function update(e:Event):void { render.bitmapData = new BitmapData( renderWidth, renderHeight, false, 0x00FFFFFF ); render.bitmapData.draw(target,null,null,null,new Rectangle(0,0,renderWidth,renderHeight),false); render.bitmapData.applyFilter(render.bitmapData,new Rectangle(0,0,renderWidth, renderHeight),new Point(0,0),new BlurFilter(20,20,2)); render.bitmapData.threshold(render.bitmapData,new Rectangle(0,0,renderWidth, renderHeight),new Point(0,0),"<",0x00E0E0E0,0xFF000000,0x00FF0000,true) } } }