flash on 2014-12-31
♥0 |
Line 61 |
Modified 2014-12-31 08:26:55 |
MIT License
archived:2017-03-30 11:50:44
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/xSvT
*/
package {
import flash.events.MouseEvent;
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 = 20;
public var vx:Number = 0;
public var vy:Number = 0;
public var gt:int = 0;
public function onEnter(e:Event):void
{
graphics.clear();
graphics.lineStyle(2, 0);
gt += 1;
var ar:Number;
var ax:Number; var ay:Number;
ax = 230; ay = 230; ar = 128;
graphics.beginFill(0x808080);
graphics.drawCircle(ax, ay, ar);
graphics.endFill();
graphics.drawCircle(cx, cy, 8);
var ang:Number;
ang = Math.atan2(cy-ay, cx-ax);
graphics.drawCircle(ax,ay,4);
graphics.moveTo(ax,ay);
graphics.lineTo(ax+Math.cos(ang)*16, ay+Math.sin(ang)*16);
var nx:Number; var ny:Number;
nx = Math.cos(ang); ny = Math.sin(ang);
if ((gt & 256) == 0)
{ vx += -ny*0.2; vy+= nx*0.2; }
else { vx += ny*0.2; vy+= -nx*0.2; }
vx -= nx; vy -= ny;
vx *= 0.95; vy *= 0.95;
var d:Number;
d = getMag(ax-cx, ay-cy);
if (d <= ar+8)
{
var dot:Number;
dot = vx*nx + vy*ny;
if (dot < 0)
{
var px:Number; var py:Number;
px = nx*dot; py = ny*dot;
vx -=px; vy -=py;
if (d-4 < 8)
{
vx += nx;
vy += ny;
}
}
}//endif
cx += vx; cy += vy;
}//onenter
public function getMag(ax:Number, ay:Number):Number
{ return Math.sqrt(ax*ax+ay*ay); }
}//classend
}