flash on 2014-10-23
♥0 |
Line 57 |
Modified 2014-10-24 00:04:45 |
MIT License
archived:2017-03-30 11:53:29
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/eH1t
*/
package {
import flash.events.MouseEvent;
import flash.text.TextField;
import flash.events.Event;
import flash.display.Sprite;
public class FlashTest extends Sprite {
public function FlashTest() {
deb = new TextField();
deb.width =320; deb.height=240;
deb.mouseEnabled = false;
addChild(deb);
stage.addEventListener(MouseEvent.CLICK, onClick);
stage.addEventListener(Event.ENTER_FRAME, onEnter);
}//ctor
public var deb:TextField;
public function onClick(e:MouseEvent):void
{
rad = 32 + Math.random()*256;
}//onclick
public var rad:Number = 128;
public function onEnter(e:Event):void
{
var mx:Number; var my:Number;
var ax:Number; var ay:Number;
mx = stage.mouseX;
my = stage.mouseY;
ax = 230;
ay = 230;
graphics.clear();
graphics.lineStyle(2,0);
graphics.beginFill(0,1);
graphics.drawCircle(ax,ay, 8);
graphics.endFill();
graphics.drawCircle(mx,my, 8);
var d:Number;
d = getDist(mx-ax,my-ay);
if (d < 1 ) { d = 1; }
var m:Number;
m = 1.0 - ( d / rad );
if (m < 0) { m = 0; }
deb.text = " " + d + " \n" +m;
graphics.drawCircle(ax,ay, rad);
graphics.lineStyle(4*m, 0, m);
graphics.drawCircle(ax,ay, d);
var nx:Number; var ny:Number;
var ang:Number;
ang = Math.atan2(my-ay,mx-ax);
nx = Math.cos(ang);
ny = Math.sin(ang);
graphics.lineStyle(2,0);
graphics.moveTo(mx,my);
graphics.lineTo(mx+nx*32*m, my+ny*32*m);
}//onenter
public function getDist(ax:Number, ay:Number):Number
{ return Math.sqrt(ax*ax+ay*ay); }
}//classend
}