flash on 2012-9-20
♥0 |
Line 69 |
Modified 2012-09-20 17:55:24 |
MIT License
archived:2017-03-30 22:59:30
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/hZMa
*/
package {
import flash.events.Event;
import flash.display.Sprite;
public class FlashTest extends Sprite {
public function FlashTest() {
// write as3 code here..
stage.addEventListener(Event.ENTER_FRAME, onEnter);
}//ctor
public var px:Number = 200;
public var py:Number = 200;
public var ax:Number = 100;
public var ay:Number = 100;
public var aw:Number = 50;
public var ah:Number = 50;
public var bx:Number = 0;
public var by:Number = 0;
public var hx:Number = 0;
public var hy:Number = 0;
public function onEnter(e:Event):void
{
graphics.clear();
graphics.lineStyle(2,0);
graphics.drawCircle(px,py,8);
bx = ax;
by = ay;
ax = mouseX;
ay = mouseY;
hx = bx - ax;
hy = by - ay;
graphics.drawRect(ax,ay,aw,ah);
var ix:Number;
var iy:Number;
if (px < ax) { ix = ax;}
else if (px > ax+aw) { ix = ax+aw;}
else ix = px;
if (py < ay) { iy = ay;}
else if (py > ay+ah) { iy = ay+ah;}
else iy = py;
graphics.lineStyle(2,0x0000FF);
graphics.drawCircle(ix,iy, 8);
graphics.lineStyle(2,0xA0A0A0);
graphics.drawRect(bx,by,aw,ah);
if (ix == px && iy == py)
{
px -= hx;
py -= hy;
return;
var kx:Number;
var ky:Number;
if (px < bx) { kx = bx;}
else if (px > bx+aw) { kx = bx+aw;}
else kx = px;
if (py < by) { ky = by;}
else if (py > by+ah) { ky = by+ah;}
else ky = py;
var dx:Number;
var dy:Number;
dx = kx - px;
dy = ky - py;
var mag:Number;
mag = Math.sqrt(dx*dx+dy*dy);
if (mag == 0) { mag = 0.00000001;}
dx /= mag;
dy /= mag;
px -= dx * (8-mag);
py -= dy * (8-mag);
}//endif
}//onenter
}//classend
}