flash on 2015-7-12

by mutantleg
♥0 | Line 78 | Modified 2015-07-12 01:32:02 | MIT License
play

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
}