In case Flash no longer exists; a copy of this site is included in the Flashpoint archive's "ultimate" collection.

Dead Code Preservation :: Archived AS3 works from wonderfl.net

forked from:Snow

Get Adobe Flash player
by UJI_UJI 27 Dec 2008
    Embed
// forked from UJI_UJI's code on 2008-12-26  
// write as3 code here..  
package  
{  
    
     import flash.display.Bitmap;  
     import flash.display.BitmapData;  
     import flash.display.BlendMode;  
     import flash.display.Sprite;  
     import flash.events.Event;  
      import flash.geom.Matrix;  
     import flash.geom.Point;  
     
     [SWF(width=465, height=465, backgroundColor=0x0, frameRate=120)]  
      
     public class fountain extends Sprite  
     {  
         private static const GRAVITY:Number = 20;  
         private static const DRAG:Number = 0.3;  
   
         private var canvas:BitmapData;  
         private var glow:BitmapData;    
         private var forceMap:BitmapData;  
         private var drip:Array;  
 
         public function fountain():void  
         {  
             this.canvas = new BitmapData(465,465,false,0x0);  
             this.addChild(new Bitmap(this.canvas)) as Bitmap;      
             this.drip = [];  
               
             this.addEventListener(Event.ENTER_FRAME,this.upDate);  
               
         }  
         public function emitParticle(ex:Number, ey:Number, s:Number = 1, vx:Number = 0, vy:Number = 0,c:int = 0xffffff):void   
         {  
             var p:dripParticle = new dripParticle();  
             p.x = ex;  
             p.y = ey;  
             p.vx = vx;  
             p.vy = vy;  
             p.s = s;  
             p.c = c;  
             this.drip.push(p);  
         }  
         public function upDate(e:Event):void   
         {  
             this.canvas.lock();   
             this.canvas.fillRect(this.canvas.rect, 0x0);  
             var n:int = this.drip.length;  
             var d:Number;  
             var gravity:Number = GRAVITY / 1000;  
             while (n--)   
             {  
                 var p:dripParticle = this.drip[n];  
                 p.vy += gravity * p.s;   
                 p.x += p.vx;   
                 p.y += p.vy;  
                 p.c--;  
                 this.canvas.setPixel32(p.x, p.y, p.c);  
                 if (p.y > this.stage.stageHeight)   
                 {  
                     this.drip.splice(n, 1);   
                 }  
             }  
             this.canvas.unlock();  
               
             n = 10;  
             while (n--)   
             {  
                 this.emitParticle(465/2, 464, Math.random()+0.5, (Math.random() - 0.5)/2, -Math.random()-2);  
             }  
         }  
     }  
}  
   
   
 class dripParticle  
 {  
       
     public var x:Number;  
     public var y:Number;  
     public var vx:Number;  
     public var vy:Number;  
     public var s:Number;  
     public var c:int;  
       
     public function dripParticle()  
     {  
         this.x = 0;  
         this.y = 0;  
         this.vx = 0;  
         this.vy = 0;  
         this.s = 1;  
         this.c = 0xffffffff;  
     }  
 }