/**
* 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