flash on 2015-4-21
♥0 |
Line 56 |
Modified 2015-04-21 04:30:34 |
MIT License
archived:2017-03-30 11:46:21
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/bRBF
*/
package {
import flash.events.Event;
import flash.display.Sprite;
public class FlashTest extends Sprite {
public function FlashTest() {
stage.addEventListener(Event.ENTER_FRAME, onEnter);
}//ctor
public var cx:Number = 230;
public var cy:Number = 230;
public var vx:Number = 0;
public var vy:Number = 0;
public var rad:Number = 16;
public function isWall(ax:Number, ay:Number):Boolean
{
if (ax < 0) { return true; }
if (ay < 0) { return true; }
if (ax > 465) { return true; }
if (ay > 465) { return true; }
return false;
}//iswall
public function angTest(ang:Number):void
{
var i:int;
var kx:Number; var ky:Number;
var nx:Number; var ny:Number;
nx = Math.cos(ang);
ny = Math.sin(ang);
graphics.moveTo(cx,cy);
graphics.lineTo(cx+nx*rad,cy+ny*rad);
kx =cx;ky=cy;
for (i =0;i<16;i++)
{
kx += nx; ky += ny;
if (isWall(kx,ky))
{
vx += -nx*i*0.2;
vy += -ny*i*0.2;
return;
}
}//nexti
}//angtest
public function onEnter(e:Event):void
{
graphics.clear();
graphics.lineStyle(2, 0);
graphics.drawCircle(cx,cy, rad);
vy +=0.2;
vx *= 0.98;
vy *= 0.98;
var w:Number;
for (w=0;w<6.28;w+=0.2)
{ angTest(w); }
cx +=vx; cy+=vy;
}//onenter
}//classend
}