flash on 2015-2-22

by mutantleg
♥0 | Line 80 | Modified 2015-02-22 00:36:35 | 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/7lIS
 */

package {
    import flash.geom.Point;
    import flash.display.StageQuality;
    import flash.text.TextField;
    import flash.geom.Rectangle;
    import flash.events.Event;
    import flash.display.BitmapData;
    import flash.display.Sprite;
    public class FlashTest extends Sprite {
        public function FlashTest() {

            stage.quality = StageQuality.LOW;

            deb = new TextField();
            deb.width =320; deb.height=240;
            deb.mouseEnabled = false;
            deb.textColor = 0xFF0000;
            addChild(deb);
            

            pic = new BitmapData(465,465, false, 0xffFFffFF);
            pic.noise(12,1,255, 7,true);
            
            graphics.beginFill(0, 1);
             graphics.drawCircle(235,235,128);
            graphics.endFill();
            //pic.draw(this);
            
            graphics.clear();
            
            graphics.beginBitmapFill(pic,null,false,false);
             graphics.drawRect(0,0, 465,465);
            graphics.endFill();
           
            graphics.lineStyle(2,0xFF);
            
            pic.lock();
            var i:int; var k:int; var u:int;
            for (i = 0; i < 32; i++)
            for (k = 0; k < 32; k++)
            {
             u = pic.getPixel((k*16)+8, (i*16)+8);       
             if (u < 0xff) { continue; }
             //if (pic.getPixel(k, i) > 256) { continue; }
           
             graphics.drawRect(k*16,i*16,16,16);  
                
            }
            pic.unlock();
            
            canvas = new BitmapData(465,465,false,0);
            
            tile = new BitmapData(16,16, true, 0x880000FF);
            
            stage.addEventListener(Event.ENTER_FRAME, onEnter);
        }//ctor
        
        public var tile:BitmapData;
        
        public var deb:TextField;
        
        public var pic:BitmapData;            
        public var canvas:BitmapData;
        
        public var rect:Rectangle = new Rectangle(235,235,4,4);
        public var dp:Point = new Point();
        
        public function onEnter(e:Event):void
        {
            graphics.clear();
            
            graphics.beginBitmapFill(canvas,null,false,false);
             graphics.drawRect(0,0, 465,465);
            graphics.endFill();

            canvas.unlock();
            canvas.lock();
         
            canvas.fillRect(canvas.rect, 0);
            canvas.draw(pic);
         
            graphics.lineStyle(2,0xFF);
            var i:int; var k:int; var u:int;
            for (i = 0; i < 32; i++)
            for (k = 0; k < 32; k++)
            {
             u = pic.getPixel((k*16)+8, (i*16)+8);       
             if (u < 0xff) { continue; }
             //if (pic.getPixel(k, i) > 256) { continue; }
           
             //graphics.drawRect(k*16,i*16,16,16);  
             dp.x = k*16; dp.y = i*16;
             canvas.copyPixels(tile, tile.rect, dp);
                                
            }
            
            for (i =0; i < 64; i++)
            {
             rect.x += Math.random()*8-4;
             rect.y += Math.random()*8-4;
             if (rect.x > 465) {rect.x = 0;}
             if (rect.x < 0) {rect.x = 465;}
             if (rect.y > 465) {rect.y = 0;}
             if (rect.y < 0) {rect.y = 465;}
                  
             pic.fillRect(rect, 0);            
            }
            
            
 
           deb.text = ""+ pic.getPixel(stage.mouseX, stage.mouseY);           
            
        }//onenter
        
        
        
        
    }//classend
}