flash on 2015-8-31

by mutantleg
♥0 | Line 59 | Modified 2015-08-31 03:15:34 | 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/kB1G
 */

package {
    import flash.events.Event;
    import flash.display.Sprite;
    public class FlashTest extends Sprite {
        public function FlashTest() {
            
            vecVert = new Vector.<xVert>(0,false);
            var a:xVert; var i:int; var k:int;
            
            for (i=0;i<4;i+=1)
            {
              for (k=0;k<4;k+=1)
              {
                  a = new xVert();
                  a.cx = k * 64 +128;
                  a.cy = i * 64 +128;
                  vecVert.push(a);
                  
                  a.cx += Math.random() * 16;
                  a.cy += Math.random() * 16;
                
              }//nextk  
            }//nexti

            
            
            stage.addEventListener(Event.ENTER_FRAME, onEnter);
        }//ctor
        
        public var vecVert:Vector.<xVert>;
        
        public var mx:Number = 0;
        public var my:Number = 0;
        
        public function getMag(ax:Number, ay:Number):Number
        { return Math.sqrt(ax*ax +ay*ay); }
        
        public function onEnter(e:Event):void
        {
            mx = stage.mouseX; my = stage.mouseY;
            
            graphics.clear();
            graphics.lineStyle(2, 0);
            
            var i:int; var num:int;
            var a:xVert;
            num = vecVert.length; 
            for (i=0;i<num;i+=1)
            {
                a = vecVert[i];
                graphics.drawCircle(a.cx, a.cy, 8);
                
                a.d = getMag(a.cx-mx, a.cy-my);
                
            }//nexti
            
            var vec:Vector.<xVert>;
            vec = vecVert.sort(compVert);
            
            graphics.moveTo(mx,my);
            for (i=0;i<num;i+=1)
            {
                a = vec[i];
                //if (i == 0) { graphics.moveTo(a.cx,a.cy); }
                graphics.lineTo(a.cx, a.cy);
            }//nexti            

            
        }//onenter
        
        public function compVert(a:xVert, b:xVert):Number
        { return a.d - b.d;}
        
        
        
    }//classend
}

internal class xVert
{
  public var cx:Number = 0;
  public var cy:Number = 0;  
  public var d:Number = 0;
    
}//xvert