flash on 2014-12-15

by mutantleg
♥0 | Line 47 | Modified 2014-12-15 04:30:39 | 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/uJyg
 */

package {
    import flash.events.MouseEvent;
    import flash.events.Event;
    import flash.display.Sprite;
    public class FlashTest extends Sprite {
        public function FlashTest() {
 
             ax = 160; ay = 150;
             aw = 120; ah = 90;
            
           stage.addEventListener(MouseEvent.CLICK, onClick); 
           stage.addEventListener(Event.ENTER_FRAME, onEnter); 
        }//ctor
      
      
          public function onClick(e:MouseEvent):void
          {
             ax = Math.random() * 430;
             ay = Math.random() * 430;
             aw = 30 + Math.random() * 100;
             ah = 30 + Math.random() * 100;
              
          }//onclick  
        
       public  var ax:Number; public var ay:Number;
       public  var aw:Number; public var ah:Number;
    
               
        public function onEnter(e:Event):void
        {
           graphics.clear();
           graphics.lineStyle(2,0); 
            
           var x0:Number; var y0:Number;
           var x1:Number; var y1:Number; 
            
            x0 = 430; y0 = 230;
            x1 = stage.mouseX; y1 = stage.mouseY;
             
             
           graphics.drawRect(ax,ay,aw,ah);      
           
           graphics.moveTo(x0,y0);
           graphics.lineTo(x1,y1);        
            
            
            
           var mx:Number; var my:Number; 
           var dx:Number; var dy:Number; 
           var ex:Number; var ey:Number;
           ex = aw; ey = ah;          
           dx = x1-x0; dy = y1-y0;
 
           mx = x0 + x1 - ax - (ax + aw);
           my = y0 + y1 - ay - (ay + ah);
                       
           if (Math.abs(mx) > ex + Math.abs(dx)) { return; }
           if (Math.abs(my) > ey + Math.abs(dy)) { return; }
           
           if (Math.abs(mx*dy-my*dx) > ex * (Math.abs(dy)+0.00001)+ey*(Math.abs(dx)+0.00001)) { return; } 
         
          graphics.beginFill(0,0.2);   
           graphics.drawRect(ax,ay,aw,ah);      
          graphics.endFill();  
        }//onenter
        
        
    }//classend
}