flash on 2012-9-20

by mutantleg
♥0 | Line 69 | Modified 2012-09-20 17:55:24 | 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/hZMa
 */

package {
    import flash.events.Event;
    import flash.display.Sprite;
    public class FlashTest extends Sprite {
        
        public function FlashTest() {
            // write as3 code here..
            
            
            
            stage.addEventListener(Event.ENTER_FRAME, onEnter);
        }//ctor
        
        public var px:Number = 200;
        public var py:Number = 200;
        
        public var ax:Number = 100;
        public var ay:Number = 100;
        public var aw:Number = 50;
        public var ah:Number = 50;
        
        public var bx:Number = 0;
        public var by:Number = 0;
        public var hx:Number = 0;
        public var hy:Number = 0;
        
        public function onEnter(e:Event):void
        {
            graphics.clear();
            graphics.lineStyle(2,0);
            
            graphics.drawCircle(px,py,8);
            
            bx = ax;
            by = ay;
            
            ax = mouseX;
            ay = mouseY;
            
            hx = bx - ax;
            hy = by - ay;
            
            graphics.drawRect(ax,ay,aw,ah);
            
            var ix:Number;
            var iy:Number;
            
            if (px < ax) { ix = ax;}
            else if (px > ax+aw) { ix = ax+aw;}
            else ix = px;
            
            if (py < ay) { iy = ay;}
            else if (py > ay+ah) { iy = ay+ah;}
            else iy = py;
                
             graphics.lineStyle(2,0x0000FF);
             graphics.drawCircle(ix,iy, 8);
                
             graphics.lineStyle(2,0xA0A0A0);
             graphics.drawRect(bx,by,aw,ah);
             
             if (ix == px && iy == py)
             {
                 px -= hx;
                 py -= hy;
                 return;
                 
                 var kx:Number;
                 var ky:Number;
                 
                 if (px < bx) { kx = bx;}
                else if (px > bx+aw) { kx = bx+aw;}
                else kx = px;
                
                if (py < by) { ky = by;}
                else if (py > by+ah) { ky = by+ah;}
                else ky = py;
                
                var dx:Number;
                var dy:Number;
                dx = kx - px;
                dy = ky - py;
                var mag:Number;
                mag = Math.sqrt(dx*dx+dy*dy);
                if (mag == 0) { mag = 0.00000001;}
                dx /= mag;
                dy /= mag;
                
                px -= dx * (8-mag);
                py -= dy * (8-mag);
             }//endif
                
                
                
        }//onenter
        
    }//classend
}