flash on 2016-10-20

by mutantleg
♥0 | Line 60 | Modified 2016-10-20 06:19:15 | 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/IULh
 */

package {
    import flash.display.StageQuality;
    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=240;
            deb.mouseEnabled=false;
            addChild(deb);
            
            stage.quality = StageQuality.LOW;
            
            vecWall = new Vector.<int>(320, false);
            var i:int;
            for(i=0;i<320;i+=1)
            { vecWall[i] = 100; }
            
            stage.addEventListener(Event.ENTER_FRAME, onEnter);
        }//ctor
        
        public var deb:TextField;
        
        public var vecWall:Vector.<int>;
       
        public function getMag(ax:Number, ay:Number):Number
        { return Math.sqrt(ax*ax+ay*ay); } 
        
        public function onEnter(e:Event):void
        {
          graphics.clear();
          graphics.lineStyle(2, 0);  
            
          var mx:Number; var my:Number;
          mx=stage.mouseX; my =stage.mouseY;
          var cx:Number; var cy:Number;
          cx=230; cy=230;  
          
          graphics.drawCircle(cx,cy,8);
          graphics.drawCircle(mx,my,8);
          graphics.moveTo(cx,cy);
          graphics.lineTo(mx,my);
          
          var d:Number;
          var ta:Number;
          ta = Math.atan2(my-cy, mx-cx);
          ta += 3.1415;
          ta *= (320/6.28);
          if (ta>=320){ta=319; }
          if (ta<0){ta=0;}
          d = getMag(mx-cx, my-cy);
          deb.text = " " +ta + "\n"+d;
          
          vecWall[int(ta)] = int(d);
          
          var i:int;
          for (i=0;i<320;i+=1)
          {
            d = vecWall[i];
            ta = i*(6.28/320);
            ta -=3.1415;
            var ax:Number; var ay:Number;
            ax = cx+Math.cos(ta) * d;
            ay = cy+ Math.sin(ta) * d;
              
            if (i == 0) { graphics.moveTo(ax,ay); }
            graphics.lineTo(ax,ay);  
              
          }//nexti
          
          
            
        }//onenter
        
    }//classend
}