/**
* Copyright mutantleg ( http://wonderfl.net/user/mutantleg )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/i9HA
*/
package {
import flash.events.Event;
import flash.display.Sprite;
public class FlashTest extends Sprite {
public function FlashTest() {
stage.addEventListener(Event.ENTER_FRAME, onEnter);
}//ctor
public function getMag(ax:Number,ay:Number):Number { return Math.sqrt(ax*ax+ay*ay); }
public function distRect(t:int, ax:Number,ay:Number,aw:Number,ah:Number, kx:Number,ky:Number):void
{
var ix:Number; var iy:Number;
graphics.drawRect(ax,ay, aw,ah);
if (kx<ax){ix=ax;} else if (kx>ax+aw){ix=ax+aw; } else { ix=kx;}
if (ky<ay){iy=ay;} else if (ky>ay+ah){iy=ay+ah;} else {iy=ky; }
var d:Number;
d = getMag(kx-ix, ky-iy);
if (d > (128/t)) { graphics.moveTo(ax,ay); graphics.lineTo(ax+aw,ay+ah); return; }
if (t>5){ graphics.moveTo(ax,ay); graphics.lineTo(ax+aw,ay+ah); return;}
aw*=0.5; ah*=0.5;
distRect(t+1,ax,ay,aw,ah, kx,ky);
distRect(t+1,ax+aw,ay,aw,ah, kx,ky);
distRect(t+1,ax,ay+ah,aw,ah, kx,ky);
distRect(t+1,ax+aw,ay+ah,aw,ah, kx,ky);
}//drawrect
public function onEnter(e:Event):void
{
graphics.clear();
graphics.lineStyle(2, 0);
distRect(1, 64,64,256,256, stage.mouseX, stage.mouseY);
}//onenter
}//classend
}