/**
* Copyright mutantleg ( http://wonderfl.net/user/mutantleg )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/xdEo
*/
package {
import flash.text.TextField;
import flash.geom.Matrix;
import flash.events.Event;
import flash.geom.Point;
import flash.geom.ColorTransform;
import flash.display.BitmapData;
import flash.display.Sprite;
public class FlashTest extends Sprite {
public function FlashTest() {
deb = new TextField();
deb.width=320;deb.height=240;deb.mouseEnabled=false;
deb.textColor = 0xFF0000;
addChild(deb);
pic = new BitmapData(465,465, false, 0);
pic.perlinNoise(23,12,4,6,true,true,7,true);
var tmp:BitmapData;
var i:int;
for (i = 0; i < 256; i += 16)
{
var c:uint; var m:int;
m = i;
c = (m << 24) | (m<<16) | (m << 8) | 0xFF000000;
tmp = new BitmapData(pic.width, pic.height, true, 0);
tmp.draw(pic);
tmp.threshold(pic, pic.rect, new Point(0,0), "<=", c, 0, 0xFFffFFff);
//tmp.noise(23);
vecPic.push(tmp);
}//nexti
deb.text = ""+vecPic.length;
stage.addEventListener(Event.ENTER_FRAME, onEnter);
}//ctor
public var deb:TextField;
public var pic:BitmapData;
public var canvas:BitmapData = new BitmapData(465,465, false, 0);
public var vecPic:Vector.<BitmapData> = new Vector.<BitmapData>(0, false);
public var gt:int = 0;
public var mat:Matrix = new Matrix();
public function onEnter(e:Event):void
{
graphics.clear();
var ang:Number;
ang = gt * 0.05;
var i:int; var num:int; var a:BitmapData;
num = vecPic.length;
for (i = 0; i < num; i++)
{
mat.tx = Math.cos(ang)*i*2;
mat.ty = Math.sin(ang)*i*2;
a = vecPic[i];
canvas.draw(a, mat);
}//nexti
/*
var c:uint;
var m:int;
m = (gt*4) % 256;
c = (m << 24) | (m<<16) | (m << 8) | 0xFF000000;
canvas.draw(pic);
//canvas.threshold(canvas, canvas.rect, new Point(0,0), "<=", 0xFF888888, 0, 0xFFffFFff);
canvas.threshold(canvas, canvas.rect, new Point(0,0), "<=", c, 0, 0xFFffFFff);
*/
graphics.beginBitmapFill(canvas,null,false,false);
graphics.drawRect(0,0,465,465);
graphics.endFill();
graphics.drawCircle(64,64, 12);
gt += 1;
}//onenter
}//classend
}