flash on 2014-12-15
♥0 |
Line 47 |
Modified 2014-12-15 04:30:39 |
MIT License
archived:2017-03-30 11:51:27
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
}