just playing around:
copy and paste to timeline:
var bd:BitmapData = new BitmapData(stage.stageWidth,stage.stageHeight,true,0); addChild(new Bitmap(bd)); var bf:BlurFilter = new BlurFilter(4,4,3); var container:Sprite = new Sprite(); //Mouse.hide(); function newParticle(color:uint):MovieClip { var p:MovieClip = new MovieClip(); p.graphics.beginFill(color); p.graphics.drawCircle(0, 0, 1); p.graphics.endFill() return p; } var particles:Array = []; var numParticles:int = 24; var radius:int = 2; var angle:Number = 0; var speed:int = 1; var sx:int = stage.stageWidth / 2; var sy:int = stage.stageHeight / 2; var friction:int = 30; var t:Timer = new Timer(33); t.addEventListener(TimerEvent.TIMER, onTimer); t.start(); addEventListener(Event.ENTER_FRAME, moveParticles); function onTimer(e:TimerEvent):void { for(var i:int = 0; i < numParticles; i++) { var color:uint = 0x00BBFF; var p:MovieClip = newParticle(color); angle = ((i / numParticles) * 360) * Math.PI / 180; p.x = sx + (Math.sin(angle)*radius); p.y = sy + (Math.cos(angle)*radius)*-1; container.addChild(p); p.vx = Math.sin(angle) * speed; p.vy = -Math.cos(angle) * speed; particles.push(p); } } function moveParticles(e:Event):void { sx += (mouseX-sx) / friction; sy += (mouseY-sy) / friction; for(var i:int = 0; i < particles.length; i++) { var p:MovieClip = particles[i]; p.x += p.vx; p.y += p.vy; p.scaleX = p.scaleY += 0.006; p.alpha -=0.01; if(p.alpha <= 0) { container.removeChild(p); particles.splice(i, 1); } else if(p.x-p.width/2 > stage.stageWidth || p.x+p.width/2 < 0) { container.removeChild(p); particles.splice(i, 1); } else if(p.y-p.height/2 > stage.stageHeight || p.y+p.height/2 < 0) { container.removeChild(p); particles.splice(i, 1); } } bd.fillRect(bd.rect, 0); bd.draw(container); //bd.applyFilter(bd,bd.rect,new Point(),bf); }









