PerlinNoise

by _shimizu
♥0 | Line 34 | Modified 2010-01-01 22:09:34 | MIT License
play

ActionScript3 source code

/**
 * Copyright _shimizu ( http://wonderfl.net/user/_shimizu )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/g0m7
 */

package {
	import flash.geom.Point;
	import flash.utils.IDataInput;
	import flash.display.Bitmap;
	import flash.display.BitmapData;
	import flash.display.BitmapDataChannel;
    import flash.display.Sprite;
    import flash.events.Event;
    public class FlashTest extends Sprite {
    		
    		private var bmpdata:BitmapData;
    		
        public function FlashTest() {
        		bmpdata = new BitmapData( 120, 120, false, 0 );
        		var bmp:Bitmap = new Bitmap(bmpdata);
        		bmp.scaleX = bmp.scaleY = 4;
        		addChild(bmp);
        		
        		addEventListener(Event.ENTER_FRAME, enterframe);
        		            
        }
        
        private var baseX:Number	= 60;
        private var baseY:Number = 60;
        private var octaves:uint	= 3;
        private var randomSeed:int = Math.random() * 0xffffffff;
        private var stitch:Boolean = false;
        private var fractalNoise:Boolean = false;
        private var channelOptions:int = BitmapDataChannel.RED | BitmapDataChannel.BLUE;
        private var grayScale:Boolean = false;
        private var offset:Array = [new Point(), new Point(), new Point()];
                
        private function enterframe(e:Event):void{
        		//PerlinNoise
        		bmpdata.perlinNoise( baseX, baseY, octaves, randomSeed, stitch, fractalNoise, channelOptions, grayScale, offset);
        		offset[0].y += 1;
        		offset[1].x += 1;
        		offset[2].y += 0.5;
        }

    }
}