flash on 2015-7-12
♥0 |
Line 78 |
Modified 2015-07-12 01:32:02 |
MIT License
archived:2017-03-30 11:44:56
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/4Tu9
*/
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 ca:Number = 0;
public var ct:Number = 0;
public var gt:int = 0;
public static function angDiff(a:Number, b:Number):Number
{ a -= b; if (a > 3.14) { a -= 6.28; } if (a < -3.14) { a += 6.28;} return a; }
public function onEnter(e:Event):void
{
var r:Number;
var nx:Number; var ny:Number;
var kx:Number; var ky:Number;
var wx:Number; var wy:Number;
var ta:Number; var d:Number;
var mx:Number; var my:Number;
mx = stage.mouseX; my = stage.mouseY;
gt += 1;
graphics.clear();
graphics.lineStyle(2, 0);
r=32;
if (gt % 64 ==0)
{ ct = Math.atan2(my-cy,mx-cx); }
ca += angDiff(ct, ca) *0.1;
graphics.drawCircle(cx,cy,r);
graphics.moveTo(cx-Math.cos(ca)*r,cy-Math.sin(ca)*r);
graphics.lineTo(cx+Math.cos(ca)*r,cy+Math.sin(ca)*r);
nx = Math.cos(ca); ny = Math.sin(ca);
cx += nx; cy+=ny;
kx = cx+ny*-r + nx*r;
ky = cy+nx*r + ny*r;
graphics.drawCircle(kx, ky , 4);
ta = gt*0.1;
d =Math.sin(ta)*r*0.75;
wx = kx+nx*d; wy =ky+ny*d;
wx += ny*-r; wy += nx*r;
graphics.drawCircle(wx , wy, 4);
graphics.moveTo(kx,ky);
graphics.lineTo(wx,wy);
kx = cx+ny*-r + nx*-r;
ky = cy+nx*r + ny*-r;
graphics.drawCircle(kx, ky , 4);
ta = gt*0.1;
d = Math.sin(ta+3.1415)*r*0.75;
wx = kx+nx*d; wy =ky+ny*d;
wx += ny*-r; wy += nx*r;
graphics.drawCircle(wx , wy, 4);
graphics.moveTo(kx,ky);
graphics.lineTo(wx,wy);
kx = cx+ny*r + nx*-r;
ky = cy+nx*-r + ny*-r;
graphics.drawCircle(kx, ky , 4);
ta = gt*0.1;
d =Math.sin(ta)*r*0.75;
wx = kx+nx*d; wy =ky+ny*d;
wx += ny*r; wy += nx*-r;
graphics.drawCircle(wx , wy, 4);
graphics.moveTo(kx,ky);
graphics.lineTo(wx,wy);
kx = cx+ny*r + nx*r;
ky = cy+nx*-r + ny*r;
graphics.drawCircle(kx, ky , 4);
ta = gt*0.1;
d =Math.sin(ta+3.1415)*r*0.75;
wx = kx+nx*d; wy =ky+ny*d;
wx += ny*r; wy += nx*-r;
graphics.drawCircle(wx , wy, 4);
graphics.moveTo(kx,ky);
graphics.lineTo(wx,wy);
}//onenter
}//classend
}