flash on 2016-6-8

by mutantleg
♥0 | Line 92 | Modified 2016-06-08 04:47:11 | 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/wXRX
 */

package {
    import flash.text.TextField;
    import flash.events.MouseEvent;
    import flash.events.Event;
    import flash.display.Sprite;
    public class FlashTest extends Sprite {
        public function FlashTest() {
            deb = new TextField();
            deb.width=320;
            deb.height=240;
            deb.mouseEnabled=false;
            addChild(deb);
            
           stage.addEventListener(MouseEvent.MOUSE_DOWN, onMdown);
           stage.addEventListener(MouseEvent.MOUSE_UP, onMup); 
           stage.addEventListener(Event.ENTER_FRAME, onEnter); 
        }//ctor
        
         public function onMdown(e:MouseEvent):void   { mbutton =1;  }
         public function onMup(e:MouseEvent):void { mbutton = 0; }
         public var mbutton:int = 0;
       
        public var camx:Number=0;
        public var camy:Number = 0;
       
        public var cx:Number = 235;
        public var cy:Number = 235;
        public var reload:int = 0;
        public var gt:int = 0;
        public var mode:int = 0;
        
        public var gx:Number = 235;
        public var gy:Number = 235;
       
       public var rx:Number = 0;
       public var ry:Number = 0;
       public var rw:Number=32;
       public var rh:Number=64;
       public var rdmg:Number = 0;
       
       public var deb:TextField;
       
       public function getMag(ax:Number,ay:Number):Number
       { return Math.sqrt(ax*ax+ay*ay); }
       
        public function onEnter(e:Event):void
        {
             var mx:Number; var my:Number;
             var wmx:Number; var wmy:Number;
             mx =stage.mouseX;  my=stage.mouseY;   
             wmx=mx+camx; wmy=my+camy;
            
            graphics.clear();
            graphics.lineStyle(2, 0);

//            graphics.drawRect(0-camx,0-camy,512,512);
            graphics.drawEllipse(0-camx,0-camy+16,640,320);
            graphics.beginFill(0xFFffFF,1);
            graphics.drawEllipse(0-camx,0-camy,640,320);
            graphics.endFill();
            
            graphics.drawCircle(cx-camx,cy-camy,16);
            
            var ta:Number; var ms:Number; ms = 8;
              ta = Math.atan2(wmy-cy,wmx-cx);
              
              graphics.moveTo(cx-camx,cy-camy);
              graphics.lineTo(cx-camx+Math.cos(ta)*16,cy-camy+Math.sin(ta)*16);
            graphics.beginFill(0xFFffFF,1);
              graphics.drawEllipse(cx-camx-16,cy-camy-48,32,64);
            graphics.endFill();

            graphics.drawRect(rx-camx,ry-camy,rw,rh);


            camx += ((cx-235)-camx)*0.2;
            camy += ((cy-235)-camy)*0.2;
            
            deb.x=rx+rw*0.5-camx;
            deb.y=ry+rh*0.5-camy;

           var over:Boolean;
              over = (wmx<rx||wmx>rx+rw||wmy<ry||wmy>ry+rh)==false;
   
              
             if (mode==1 && getMag(cx-(rx+rw*0.5),cy-(ry+rh*0.5))<64) { 
                 ms = 0;
                 if (reload<gt)
                 { 
                   reload =gt+16;
                    rdmg+=8
                     if (rdmg>16)
                     {
                        rdmg=0;
                        rx = Math.random()*256;
                        ry = Math.random()*256;   
                        mode=0;
                     }
                     deb.text=""+int(rdmg);
                 }//endif2   
              }//endif

            if (mbutton >0)
            { gx=wmx; gy=wmy; if (over){mode=1;}else{mode=0;} }
            
            if (mode==1)
            { gx=rx+rw*0.5; gy=ry+rh*0.5; }
            
            ta = Math.atan2(gy-cy,gx-cx);
            ms=8;
              if (getMag(cx-gx,cy-gy)<32) { ms=0;}

              cx += Math.cos(ta)*ms;
              cy += Math.sin(ta)*ms; 

            gt+=1;            
        }//onenter
        
        
    }//classend
}