flash on 2013-1-22

by mutantleg
♥0 | Line 80 | Modified 2013-01-22 22:02:20 | MIT License
play

ActionScript3 source code

/**
 * Copyright mutantleg ( http://wonderfl.net/user/mutantleg )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/5NRa
 */

package {
    import flash.events.Event;
    import flash.geom.Point;
    import flash.display.Sprite;
    public class FlashTest extends Sprite {
   
        public function FlashTest() {
      
          
          graphics.clear();
          graphics.lineStyle(1,0);
          
          vec = new Vector.<wNode>(0,false);
          
          var w:wNode;
          
          w = new wNode(100,100);
          vec.push(w);
              
              stage.addEventListener(Event.ENTER_FRAME, onEnter);
        }//ctor
            
     
         public var it:int = 0;
         public var vec:Vector.<wNode>;
        
        public function onEnter(e:Event):void
        {
            var w:wNode;
            var m:wNode;
            var num:int;
            
            
            it +=1 ;
            
            graphics.lineStyle(1,0);
            
            if (it >= 70) { 
                it = 0;
                 graphics.clear();
                 vec = new Vector.<wNode>;
                 w = new wNode(200,200);
                 vec.push(w);
              }//endif
            
            if (it > 64) { return; }
            
            var k:int;
            
             num = vec.length;    
              
              for (k = 0; k < num; k++)
              {
                  w = vec[k];
                 
                  if (w.hp <= 0)
                  {
                      continue;                    
                  }
                 
                  
                  w.px = w.cx;
                  w.py = w.cy;
                  w.cx += Math.cos(w.ang) * 8;
                  w.cy += Math.sin(w.ang) * 8;
                  w.ang += (Math.random()-Math.random());
                  w.hp -=1;
                  if (w.hp <= 0)
                  { graphics.drawCircle(w.cx,w.cy, 4); }
                  
                  
                  graphics.moveTo(w.px, w.py);
                  graphics.lineTo(w.cx,w.cy);
                 // graphics.drawCircle(w.cx,w.cy, 8);
                  
                  
                  if (num < 32)
                  if (Math.random() < 0.15)
                  {
                      //  graphics.drawCircle(w.cx,w.cy, 4);
                
                     m = new wNode(w.cx, w.cy);
                     m.ang = w.ang + (Math.random()-Math.random());
                     m.hp = w.hp / 2;
                     w.hp /= 2;
                     vec.push(m);
                  }//endif
                  
              }//nextk
            
            
            
        }//onenter
        
   }//classend
}

internal class wNode
{
    public var ang:Number = 0;
    public var cx:Number = 0;
    public var cy:Number = 0;
    public var hp:Number = 0;
    public var px:Number = 0;
    public var py:Number = 0;
    
    public function wNode(x:Number, y:Number)
    {
        cx = x;
        cy = y;
        px = x;
        py = y;
        hp = 80;
    }//ctor
    
}//wnode

Forked