flash on 2012-10-17

by mutantleg
♥0 | Line 68 | Modified 2012-10-17 22:37:45 | 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/ldF2
 */

package {
    import flash.geom.Rectangle;
    import flash.events.MouseEvent;
    import flash.events.Event;
    import flash.display.Sprite;
    public class FlashTest extends Sprite {
       
        public function FlashTest() {
           
           vecRect = new Array();
            
            stage.addEventListener(MouseEvent.CLICK, mdown);
            stage.addEventListener(Event.ENTER_FRAME, onEnter);
        }//ctor
        
        public var sx:Number = 0;
        public var sy:Number = 0;
        public var mode:int = 0;
        
        public function mdown(e:MouseEvent):void
        {
            if (mode == 0)
            {
             sx = mouseX;
             sy = mouseY;  
             
             sx = Math.floor(sx/8)*8;
             sy =Math.floor(sy/8)*8;
             
             mode = 1; 
            }
            else
            {
             mode = 0;   
             var r:Rectangle;
             var ax:Number;
             var ay:Number;
             var w:Number;
             var h:Number;
             w = Math.abs(mx-sx);
             h = Math.abs(my-sy);
             ax = mx < sx ? mx : sx;
             ay = my < sy ? my : sy;
             if (w == 0 || h == 0) { return; }
             r = new Rectangle(ax,ay, w,h);
             vecRect.push(r);
            }
            
        }//mdown
        
        public var vecRect:Array;
        public var mx:Number = 0;
        public var my:Number = 0;
        
        public function onEnter(e:Event):void
        {
            graphics.clear();
            graphics.lineStyle(2,0);
            
            mx = mouseX;
                my = mouseY;
                mx = Math.floor(mx /8) * 8;
                my = Math.floor(my / 8) * 8;
                
            if (mode == 1)
            {
              
             graphics.drawRect(sx, sy, mx-sx, my-sy);
            }
            
            var i:int;
            var num:int;
            var r:Rectangle;
            
            num = vecRect.length;
           
            for (i = 0; i < num; i++)
            {
               r = vecRect[i]; 
               graphics.drawRect(r.x, r.y, r.width, r.height); 
                
            }//nexti
            
        }//onenter
        
        
    }//classend
}