что-то типа такого?

Код:
package {
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.display.Sprite;
import flash.events.Event;
import flash.events.MouseEvent;
import flash.filters.BlurFilter;
import flash.geom.Point;
public class particleTest extends Sprite {
private const blurFilter:BlurFilter = new BlurFilter( 2, 2, 2 );
private const NUM_PARTICLES:Number = 1000;
public function particleTest() {
super.stage.addEventListener(MouseEvent.CLICK, this.handler_mouseClick);
}
private var _particles:Array;
private var _renderScreen:BitmapData;
private function init(x:Number, y:Number):void {
this._particles = new Array();
for(var i:int = 0; i < this.NUM_PARTICLES; i++) {
this._particles.push(new Particle(x, y, Math.random()*10-5, Math.random()*10-9, i));
}
if(this._renderScreen) this._renderScreen.dispose();
this._renderScreen = new BitmapData( super.stage.stageWidth, super.stage.stageHeight, true, 0 );
super.addChild(new Bitmap(this._renderScreen));
super.addEventListener(Event.ENTER_FRAME, this.handler_enterFrame);
}
private function handler_mouseClick(event:MouseEvent):void {
this.init(super.stage.mouseX, super.stage.mouseY);
}
private function handler_enterFrame(event:Event):void {
this._renderScreen.lock();
for each (var p:Particle in this._particles) {
this._renderScreen.setPixel32(p.sx, p.sy, 0xFFFF00FF);
p.sx += p.tx;
p.sy += p.ty;
p.tx *= .99;
p.ty += .3;
if(p.sy > super.stage.stageHeight) this._particles.splice(p.id, 1);
}
this._renderScreen.applyFilter( this._renderScreen, this._renderScreen.rect, new Point(), this.blurFilter );
this._renderScreen.unlock();
}
}
}
internal class Particle {
public var sx: Number;
public var sy: Number;
public var tx: Number;
public var ty: Number;
public var id:int;
public function Particle( sx: Number, sy: Number, tx:Number, ty:Number, id:int) {
this.sx = sx;
this.sy = sy;
this.tx = tx;
this.ty = ty;
this.id = id;
}
}