flash on 2016-10-20
♥0 |
Line 60 |
Modified 2016-10-20 06:19:15 |
MIT License
archived:2017-03-20 16:22:15
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/IULh
*/
package {
import flash.display.StageQuality;
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.quality = StageQuality.LOW;
vecWall = new Vector.<int>(320, false);
var i:int;
for(i=0;i<320;i+=1)
{ vecWall[i] = 100; }
stage.addEventListener(Event.ENTER_FRAME, onEnter);
}//ctor
public var deb:TextField;
public var vecWall:Vector.<int>;
public function getMag(ax:Number, ay:Number):Number
{ return Math.sqrt(ax*ax+ay*ay); }
public function onEnter(e:Event):void
{
graphics.clear();
graphics.lineStyle(2, 0);
var mx:Number; var my:Number;
mx=stage.mouseX; my =stage.mouseY;
var cx:Number; var cy:Number;
cx=230; cy=230;
graphics.drawCircle(cx,cy,8);
graphics.drawCircle(mx,my,8);
graphics.moveTo(cx,cy);
graphics.lineTo(mx,my);
var d:Number;
var ta:Number;
ta = Math.atan2(my-cy, mx-cx);
ta += 3.1415;
ta *= (320/6.28);
if (ta>=320){ta=319; }
if (ta<0){ta=0;}
d = getMag(mx-cx, my-cy);
deb.text = " " +ta + "\n"+d;
vecWall[int(ta)] = int(d);
var i:int;
for (i=0;i<320;i+=1)
{
d = vecWall[i];
ta = i*(6.28/320);
ta -=3.1415;
var ax:Number; var ay:Number;
ax = cx+Math.cos(ta) * d;
ay = cy+ Math.sin(ta) * d;
if (i == 0) { graphics.moveTo(ax,ay); }
graphics.lineTo(ax,ay);
}//nexti
}//onenter
}//classend
}