flash on 2015-5-9

by mutantleg
♥0 | Line 60 | Modified 2015-05-10 00:15:46 | 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/fd3O
 */

package {
    import flash.geom.Matrix;
    import flash.display.BitmapData;
    import flash.events.Event;
    import flash.display.Sprite;
    public class FlashTest extends Sprite {
        public function FlashTest() {
            
            canvas.setPixel(8,8, 255);
            
            stage.addEventListener(Event.ENTER_FRAME, onEnter);
        }//ctor
        
        public var canvas:BitmapData = new BitmapData(64,64, false, 0);
        public var mat:Matrix = new Matrix(4,0,0,4);
        
        public var gt:int = 0;
        
        
        public function procWall(k:int ,h:int):void
        {
            var c:int; var c2:int; var c3:int;
                  c = canvas.getPixel(k, h);
                 
                  c2 = canvas.getPixel(k+1, h);
                  c3 = canvas.getPixel(k-1, h);    if (c3 > c2) { c2 = c3; }
                  c3 = canvas.getPixel(k, h-1);    if (c3 > c2) { c2 = c3; }
                  c3 = canvas.getPixel(k, h+1);    if (c3 > c2) { c2 = c3; }

                  c3 = canvas.getPixel(k+1, h+1);    if (c3 > c2) { c2 = c3; }
                  c3 = canvas.getPixel(k-1, h+1);    if (c3 > c2) { c2 = c3; }
                  c3 = canvas.getPixel(k-1, h-1);    if (c3 > c2) { c2 = c3; }
                  c3 = canvas.getPixel(k+1, h-1);    if (c3 > c2) { c2 = c3; }
                 
                  
                  if (c < c2) { c = c2 - 16;   }
                  c -= 4;
                  if (c < 0) { c = 0; }
                  canvas.setPixel(k, h, c);               
            
            
        }//procwall
        
        public function onEnter(e:Event):void
        {
            
            var mx:Number;
            var my:Number;
            mx = stage.mouseX/4;
            my = stage.mouseY/4;
            canvas.setPixel(mx,my,255);
            
             canvas.setPixel(8,8, 255);
         
             canvas.setPixel(32,32, 128);
            
            var i:int;    var h:int;  var k:int;
            var mw:int; var mh:int;
            h = gt % 64;         
            mw = canvas.width;
            mh = canvas.height;
            for (i =0; i < 16; i++)
            {
                h=((gt*16)+i)%64;
                for (k =0;k<mw;k++) { procWall(k, h); }
                for (k =mw-1;k>=0;k-=1) { procWall(k, h); }
                
            }//nexti
            
            
            gt += 1;
            
            canvas.unlock();
            canvas.lock();
            
            graphics.clear();
            graphics.beginBitmapFill(canvas, mat, false, false);
            graphics.drawRect(0,0,canvas.width*mat.a,canvas.height*mat.d);
            graphics.endFill();
            
            
        }//onenter        
    }//classend
}