forked from: flash on 2015-1-24

by yurij.shaulov forked from flash on 2015-1-24 (diff: 131)
♥0 | Line 66 | Modified 2015-01-25 07:01:25 | MIT License
play

ActionScript3 source code

/**
 * Copyright yurij.shaulov ( http://wonderfl.net/user/yurij.shaulov )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/mvmf
 */

// forked from mutantleg's flash on 2015-1-24

package {

    import flash.text.TextField;

    import flash.events.MouseEvent;

    import flash.events.Event;

    import flash.display.Sprite;

    public class FlashTest extends Sprite {

        public var deb:TextField;



        public var ww:Number = 465;



        public var wh:Number = 465;



        public var cx:Number = 0;



        public var cy:Number = 0;



        public var sx:Number = 0;



        public var sy:Number = 0;



        public var kx:Number = 0; 



        public var ky:Number = 0;



        public var kr:Number = 64;

        public function FlashTest() {



          deb = new TextField();

          deb.width =320; deb.height = 240;

          deb.mouseEnabled = false;

          addChild(deb);



           cx = 230; cy = 230;



           //ky = 100;

           



           stage.addEventListener(MouseEvent.MOUSE_MOVE, onMoved);

           stage.addEventListener(Event.ENTER_FRAME, onEnter);            

        }//ctor

        

        public function onMoved(e:MouseEvent):void { cx = stage.mouseX; cy = stage.mouseY; }



        public function onEnter(e:Event):void

        {

            graphics.clear();

            graphics.lineStyle(2, 0);



            

            sx = cx - 230; sy = cy-230;

            sx =0; sy=0;

            

            graphics.drawRect(0-sx,0-sy,465,465);

            

            graphics.drawCircle(cx-sx,cy-sy, 8); 

            

            

            graphics.drawCircle(kx-sx,ky-sy, kr);

            

            graphics.drawCircle(kx+ww-sx,ky+wh-sy, kr);

            graphics.drawCircle(kx+ww-sx,ky-sy, kr);

            graphics.drawCircle(kx-sx,ky+wh-sy, kr);

           

           var wallHit:int; 

            var d:Number;

            wallHit = 0;

            d = getMag(cx-kx, cy-ky); if (d < (kr+8)) { wallHit = 1;}

            deb.text = " " + d;

            

            var ax:Number; var ay:Number;

            ax = kx + ww; if (ax > ww) { ax -= ww; }

            ay = ky + wh; if (ay > wh) { ay -= wh; }

            

            d = getMag(cx-(ax), cy-(ay));            deb.appendText("\n"+d);

            if (d < (kr+8)) { wallHit = 2;}

            d = getMag(cx-(kx), cy-(ay));            deb.appendText("\n"+d);

            if (d < (kr+8)) { wallHit = 4;}

            d = getMag(cx-(ax), cy-(ky));            deb.appendText("\n"+d);

            if (d < (kr+8)) { wallHit = 8;}

            

            if (wallHit > 0)

            {

              graphics.beginFill(0, 1);

              graphics.drawCircle(cx-sx,cy-sy, 8); 

              graphics.endFill();

            }





             graphics.lineStyle(2 ,0, 0.5);

             graphics.drawCircle(cx,cy, 8);

             graphics.drawCircle(kx,ky, kr);

            

        }//onenter

        

        

        public function getMag(ax:Number, ay:Number):Number

        { return Math.sqrt(ax*ax+ay*ay);}

        

        

        

        

    }//classend

}