flash on 2015-1-24
♥0 |
Line 66 |
Modified 2015-01-24 04:14:36 |
MIT License
archived:2017-03-30 11:49:36
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/rrDX
*/
package {
import flash.text.TextField;
import flash.events.MouseEvent;
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);
cx = 230; cy = 230;
//ky = 100;
stage.addEventListener(MouseEvent.CLICK, onClick);
stage.addEventListener(Event.ENTER_FRAME, onEnter);
}//ctor
public function onClick(e:MouseEvent):void { cx = stage.mouseX; cy = stage.mouseY; }
public var deb:TextField;
public var ww:Number = 465;
public var wh:Number = 465;
public var cx:Number = 0;
public var cy:Number = 0;
public var sx:Number = 0;
public var sy:Number = 0;
public var kx:Number = 0;
public var ky:Number = 0;
public var kr:Number = 64;
public function onEnter(e:Event):void
{
graphics.clear();
graphics.lineStyle(2, 0);
sx = cx - 230; sy = cy-230;
sx =0; sy=0;
graphics.drawRect(0-sx,0-sy,465,465);
graphics.drawCircle(cx-sx,cy-sy, 8);
graphics.drawCircle(kx-sx,ky-sy, kr);
graphics.drawCircle(kx+ww-sx,ky+wh-sy, kr);
graphics.drawCircle(kx+ww-sx,ky-sy, kr);
graphics.drawCircle(kx-sx,ky+wh-sy, kr);
var wallHit:int;
var d:Number;
wallHit = 0;
d = getMag(cx-kx, cy-ky); if (d < (kr+8)) { wallHit = 1;}
deb.text = " " + d;
var ax:Number; var ay:Number;
ax = kx + ww; if (ax > ww) { ax -= ww; }
ay = ky + wh; if (ay > wh) { ay -= wh; }
d = getMag(cx-(ax), cy-(ay)); deb.appendText("\n"+d);
if (d < (kr+8)) { wallHit = 2;}
d = getMag(cx-(kx), cy-(ay)); deb.appendText("\n"+d);
if (d < (kr+8)) { wallHit = 4;}
d = getMag(cx-(ax), cy-(ky)); deb.appendText("\n"+d);
if (d < (kr+8)) { wallHit = 8;}
if (wallHit > 0)
{
graphics.beginFill(0, 1);
graphics.drawCircle(cx-sx,cy-sy, 8);
graphics.endFill();
}
graphics.lineStyle(2 ,0, 0.5);
graphics.drawCircle(cx,cy, 8);
graphics.drawCircle(kx,ky, kr);
}//onenter
public function getMag(ax:Number, ay:Number):Number
{ return Math.sqrt(ax*ax+ay*ay);}
}//classend
}