/**
* 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
}