flash on 2012-11-25

by mutantleg
♥0 | Line 92 | Modified 2012-11-25 06:44:21 | 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/ialM
 */

package {
    import flash.display.Graphics;
    import flash.geom.Rectangle;
    import flash.display.Sprite;
    public class FlashTest extends Sprite {
       
        
       
        public function FlashTest() {
       
         graphics.clear();
         graphics.lineStyle(1,0);    
         
         var ra:Rectangle;
         var rb:Rectangle;
         var rc:Rectangle;
         var rd:Rectangle;
         var re:Rectangle;
         
         ra = new Rectangle(30, 50, 64,64);
         rb = new Rectangle(30+64,30,64,128);
         rc = new Rectangle(30+64+64, 50, 64, 32);
         rd = new Rectangle(30+64+8,30+128,64,64);
         re = new Rectangle(30+64, 30+128+64,32,32);
         
         graphics.drawRect(ra.x, ra.y, ra.width, ra.height);
         graphics.drawRect(rb.x, rb.y, rb.width, rb.height);
         graphics.drawRect(rc.x, rc.y, rc.width, rc.height);
         graphics.drawRect(rd.x, rd.y, rd.width, rd.height);
         graphics.drawRect(re.x, re.y, re.width, re.height);
        
         drawOverlap(ra, rb, graphics);
         drawOverlap(rc, rb, graphics);
         drawOverlap(rb, rd, graphics);
         drawOverlap(re, rd, graphics);
            
        }//ctor
        
        public function drawOverlap(a:Rectangle, b:Rectangle, g:Graphics):void
        { 
            var ax:Number;
            var ay:Number;
            var ax2:Number;
            var ay2:Number;
            var aw:Number;
            var ah:Number;
            var bx:Number;
            var by:Number;
            var bx2:Number;
            var by2:Number;
            var bw:Number;
            var bh:Number;
            var dx:Number;
            var dy:Number;
            var dx2:Number;
            var dy2:Number;
            
            
            ax = a.x;
            ay = a.y;
            ax2 = a.x + a.width;
            ay2 = a.y + a.height;
            aw = a.width;
            ah = a.height;
            
            bx = b.x;
            by = b.y;
            bx2 = b.x + b.width;
            by2 = b.y + b.height;
            bw = b.width;
            bh = b.height;
            
            g.lineStyle(2, 0xFF0000);
            
            if (ax2 == bx)
            {
               dx = bx;
               dx2 = bx;
               
               dy = Math.max(ay, by);
               dy2 = Math.min(ay2, by2);   
            }//endif
            
            if (bx2 == ax)
            {
             dx = ax;
             dx2 = ax;
             
              dy = Math.max(ay, by);
               dy2 = Math.min(ay2, by2);     
                 
            }//endif
       
           if (ay2 == by)
           { 
             dy = by;
             dy2 = by;
             
             dx = Math.max(ax, bx);
             dx2 = Math.min(ax2, bx2);
           
           }//endif
           
           if (by2 == ay)
           {
               dy = ay;
               dy2 = ay;
               
                dx = Math.max(ax, bx);
             dx2 = Math.min(ax2, bx2);
           
                
           }//endif
       
           g.moveTo(dx, dy);
           g.lineTo(dx2, dy2);
       
       
        }//drawoverlap
        
        
    }//classend
}