flash on 2015-8-4

by mutantleg
♥0 | Line 64 | Modified 2015-08-04 05:00:37 | 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/mvWr
 */

package {
    import flash.events.Event;
    import flash.display.Sprite;
    public class FlashTest extends Sprite {
        public function FlashTest() {
            
            vecRect = new Vector.<xRect>(0,false);
            var i:int; var a:xRect;
            for(i=0;i<32;i+=1)
            { 
                a = new xRect();
                a.cx = Math.random()*465;
                a.cy = Math.random()*465;
                
                var ta:Number;
                ta = Math.random()*6.28;
                 a.vx = Math.cos(ta);
                 a.vy = Math.sin(ta);
                
                vecRect.push(a );
                
            }//nexti
            
            stage.addEventListener(Event.ENTER_FRAME, onEnter);
        }//ctor
        
        public var vecRect:Vector.<xRect>;
        
        public function  onEnter(e:Event):void
        {
            graphics.clear();
            graphics.lineStyle(2, 0);
            
            var i:int; var num:int; 
            var a:xRect; var b:xRect;
            num =vecRect.length;
            for (i=0;i<num;i+=1)
            {
              a = vecRect[i];
               graphics.drawCircle(a.cx,a.cy, 4);  

                a.cx += a.vx;
                a.cy += a.vy;
                if (a.vx < 0 && a.cx<0) { a.vx *= -1; }
                else if (a.vx > 0 && a.cx > 465) { a.vx*=-1;}
                if (a.vy < 0 && a.cy < 0) { a.vy *= -1; }
                else if (a.vy > 0 && a.cy > 465) { a.vy *= -1;}              
              
              
              
              if (i>=num-1) { continue; }   
               b = vecRect[i+1];
                 
              if (a.cx > b.cx)
              {
               vecRect[i] = b;
               vecRect[i+1]=a;    
              }   
                 
            }//nexti
 
            num =vecRect.length;           
            a = vecRect[0];
            graphics.moveTo(a.cx,a.cy);
            for (i=0;i<num;i+=1)
            {
              a =vecRect[i];
              graphics.lineTo(a.cx,a.cy);
            }//nexti
               
        }//onenter
        
    }//classend
}

internal class xRect
{
  public var cx:Number = 0;
  public var cy:Number = 0;  
    
  public var vx:Number = 0;
  public var vy:Number = 0;  
    
}//xrect