flash on 2010-2-28 drpt forked:0favorite:11lines:59license : MIT License modified : 2010-03-01 21:46:37 Embed Tweet package { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.filters.BlurFilter; [SWF(frameRate="60", backgroundColor="#ffffff")] public class line_01 extends Sprite { private var container:Sprite; private var dot:Sprite; private var bmpd:BitmapData; private var angle:int; private var rd:Number; private var radius:int = 50; public function line_01() { init(); addEventListener(Event.ENTER_FRAME, drawline); } private function init():void { bmpd = new BitmapData(stage.stageWidth, stage.stageHeight, false, 0xffffff ); container = new Sprite(); dot = new Sprite(); addChild(new Bitmap(bmpd)); container.addChild(dot); with(dot.graphics) { for (var i= 0; i<170; i++){ beginFill(Math.random()*0x00FFFFFF); drawCircle(i,-50,3); endFill(); } } dot.filters = [blur]; } private var blur:BlurFilter = new BlurFilter(8,8); private var colorTransform:ColorTransform = new ColorTransform( 1,1,1, 1, -1, -1,-1); private function drawline(e:Event):void { bmpd.colorTransform( bmpd.rect, colorTransform ); bmpd.draw(container); rd=Math.PI/160*angle; radius = Math.sin(rd)*4; dot.x+=radius*Math.cos(rd)+3; dot.y += radius * Math.sin(rd) +4; dot.rotation = angle; angle+=3; var left:int = -200, top:int = -200; var right:int = stage.stageWidth+230, bottom:int = stage.stageHeight+230; if( dot.x < left ) dot.x = right; else if( dot.x > right ) dot.x = left; if( dot.y < top ) dot.y = bottom; if( dot.y > bottom ) dot.y = top; } } } Code Fullscreen Preview Fullscreen tkinjo alpicola xor narutohyper Nyarineko paq clockmaker Hiiragi matacat shi.mengqin : 粒子 soundkitchen.. : WAVE!! top bottom right left colorTransform rotation filters ColorTransform BlurFilter graphics stageWidth drawCircle stageHeight addEventListener endFill beginFill Math.sin draw rect BitmapData