flash on 2016-11-25

by mutantleg
♥0 | Line 62 | Modified 2016-11-25 05:52: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/8iVY
 */

package {
    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=230;
           deb.mouseEnabled=false;
           addChild(deb); 
            
           stage.addEventListener(Event.ENTER_FRAME, onEnter); 
        }//ctor

        public var deb:TextField;

        public var ang:Number = 0;
        public var va:Number = 0.1;

        public function getMag(ax:Number, ay:Number):Number
        { return (ax*ax +ay*ay); }

        public function onEnter(e:Event):void
        {
           graphics.clear();
           graphics.lineStyle(2, 0);
           
           var cx:Number; var cy:Number;
           cx = 230; cy = 230;
           graphics.drawCircle(cx,cy, 16);
           var ax:Number; var ay:Number;
           ax = cx + Math.cos(ang) * 96;
           ay = cy + Math.sin(ang) * 96;
         //  graphics.drawCircle(ax,ay, 4);
           
           graphics.moveTo(cx,cy);
           graphics.lineTo(ax,ay);
           
           var nx:Number; var ny:Number;
           nx = Math.cos(ang+va); ny = Math.sin(ang+va);
           
           var kx:Number; var ky:Number;
           if (va > 0)
           {
             kx = ax + -ny *8; ky = ay + nx*8;
           }
           else
           {
             kx = ax + ny *8; ky = ay + -nx*8;         
           }
           
           graphics.drawCircle(kx,ky,4);

           graphics.drawRect(100,300, 300, 40);
            
           ang += va;
           
           if (ky > 300)
           { 
               graphics.drawCircle(kx,ky, 8);
               // va = -va; 
               var d:Number;
               d = getMag(kx-cx,ky-cy);
               if (d==0){d=0.001;}

               var ta:Number;
               ta = (kx-cx) * -1;
               ta /=d;
               ang -= va;
               ang += ta;
               va -= va;
               va += ta;
               //ta *= 1/va;
               //ta *= 0.01;
               //va += ta;
               deb.text = "ta " + ta;
           } 
            
            
            
        }//onenter        
        
        
    }//classend
}