flash on 2016-1-17

by mutantleg
♥0 | Line 74 | Modified 2016-01-17 09: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/s7p6
 */

package {
    import flash.events.Event;
    import flash.geom.Matrix;
    import flash.display.BitmapData;
    import flash.display.Sprite;
    public class FlashTest extends Sprite {
        public function FlashTest() {
            
            myMap = new BitmapData(mw, mh, false, 0);
            
            var i:int;
            for (i=0;i<64;i+=1)
            { 
             myMap.setPixel(i, 0, 0xFF); 
             myMap.setPixel(i, myMap.height-1, 0xFF);
             myMap.setPixel(0,i,0xFF);
             myMap.setPixel(myMap.width-1, i, 0xFF);
            }//nexti
            
            //myMap.floodFill(1,1, 0xFF0000);
            
            stage.addEventListener(Event.ENTER_FRAME, onEnter);
            
        }//ctor
        
        public var mw:int = 20;
        public var mh:int = 15;
        public var cx:int = 10;
        public var cy:int = 0;
        public var mode:int = 0;
        public var gt:int =0;
        
        public var rx:int = 5;
        public var ry:int = 5;
        
        
        public var mapMat:Matrix = new Matrix(8,0,0, 8);
        public var myMap:BitmapData;
        
        public function onEnter(e:Event):void
        {
          graphics.clear();
            graphics.beginBitmapFill(myMap, mapMat);
             graphics.drawRect(0,0,20*8,15*8);
            graphics.endFill();
            
          
          
          if (gt % 4 == 0)
          {
            cy+=1;             
            if (myMap.getPixel(cx,cy)==0)
            { mode = 1  ; myMap.setPixel(cx,cy, 0xffFFff); }
            if (myMap.getPixel(cx,cy)==0xFF && mode == 1 )
             { mode = 2; }

            if (mode == 2)
            { mode = 0;
             var i:int; var k:int;
             for (i=-1;i<2;i+=1)
             { for(k=-1;k<2;k+=1)
              { if (myMap.getPixel(cx+k,cy+i)==0)
                { myMap.floodFill(cx+k,cy+i, 0xFF0000); }             
              }//nextk 
             }//nexti  
      
             myMap.floodFill(rx,ry, 0);
      
             for (i=-1;i<2;i+=1)
             { for(k=-1;k<2;k+=1)
              { if (myMap.getPixel(cx+k,cy+i)==0xFF0000
               || myMap.getPixel(cx+k,cy+i)==0xFFffFF)
                { myMap.floodFill(cx+k,cy+i, 0xFF); }             
              }//nextk 
             }//nexti  
             
                
            }//endif

              
              if (cy <0) { cy = 0;}
              if (cy>=mh) {cy = mh-1;}
              if (cx <0) { cx = 0; }
              if (cx >= mw) { cx = mw-1; } 
          }//endif
          
          graphics.beginFill(0xFF8080,1);
           graphics.drawRect(cx*8,cy*8,8,8);  
          graphics.endFill();  
          
          graphics.beginFill(0x04FF40,1);
           graphics.drawRect(rx*8,ry*8,8,8);  
          graphics.endFill();  
           
          
            gt+=1;
        }//onenter
        
        
        
        
    }//classend
}