flash on 2014-12-14

by mutantleg
♥0 | Line 61 | Modified 2014-12-14 06:54:39 | 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/qwHp
 */

package {
    import flash.geom.Point;
    import flash.geom.Rectangle;
    import flash.events.MouseEvent;
    import flash.geom.Matrix;
    import flash.display.BitmapData;
    import flash.events.Event;
    import flash.display.Sprite;
    public class FlashTest extends Sprite {

        public function FlashTest() {
            
         map = new BitmapData(1024, 1024, false, 0xFF);   
         var tmp:BitmapData;
         tmp = new BitmapData(32,32,false,0xFF);
           tmp.perlinNoise(3,3, 5,5,true,true,1|2|4|8,false);
         graphics.beginBitmapFill(tmp,null,true);
         graphics.drawRect(0,0,map.width,map.height);
         graphics.endFill();
         map.draw(this);
         
         map.fillRect(new Rectangle(120,120, 128,128),0);
         
         canvas = new BitmapData(230,230, false, 0);   

        vecBlob = new Vector.<xBlob>(0,false0;         
         
         stage.addEventListener(MouseEvent.CLICK, onClick);   
         stage.addEventListener(Event.ENTER_FRAME, onEnter);   
        }//ctor
        
        public function onClick(e:MouseEvent):void 
        { mclick = 1;   }
        
        public var mclick:int = 0;
        
        public var map:BitmapData;
        public var canvas:BitmapData;
        public var scrMat:Matrix = new Matrix(2,0,0,2);
        
        public var camx:Number = 0;
        public var camy:Number = 0;

        public var vecBlob:Vector.<xBlob>;
        
        public function onEnter(e:Event):void
        {
            var mx:Number;            var my:Number;
            var wmx:Number; var wmy:Number;
 
            //camx += 1;
            //camy +=1;
            
            mx = stage.mouseX/2; my = stage.mouseY/2;
            wmx = mx +camx; wmy =my +camy;
            
            if (mclick == 1)
            {                
                mclick = 0;
                map.fillRect(new Rectangle(wmx-16,wmy-16,32,32),0);
            }//endif
            
            graphics.clear();
            graphics.lineStyle(2,0);
            
            canvas.copyPixels(map, new Rectangle(camx,camy, canvas.width,canvas.height), new Point());
            //canvas.draw(map);

            var i:int;

            
            graphics.beginBitmapFill(canvas, scrMat);
            graphics.drawRect(0,0,460,460);
            graphics.endFill();
            
        }//onenter
        
        
    }//classend
}

internal class xBlob
{
  public var cx:Number = 0;
  public var cy:Number = 0;
  public var vx:Number = 0;
  public var vy:Number = 0;  
    
}//xblob