package { import PerlinWaves; import flash.display.*; import flash.events.Event; import flash.geom.Point; import flash.geom.Matrix; public class PerlinWavesMain extends Sprite { var n:int =32; var m:int =8; var i:int; var g:PerlinWaves; var zData:BitmapData = new BitmapData(30,8,false); var po:Array= [ new Point(), new Point(), new Point() ]; public function PerlinWavesMain():void { g = new PerlinWaves(zData); g.width = 800; g.depthLevel = 400; g.textureMap = createTextureMap(128); addChild(g); addEventListener(Event.ENTER_FRAME, upDate); } function upDate(e:Event):void { // update the random map po[0].y += 0.2; po[0].x += 0.02; po[1].y -= 0.03; po[2].y += 0.0112510; zData.perlinNoise(zData.width,zData.height,3,13, false,true,4,false, po); g.bitmapData = zData; // public function set bitmapData(bmp:Bit... includes updating the scene } function createTextureMap(h:int):BitmapData { // creates a bitmap with a gradient texture var fillType:String = GradientType.LINEAR; var colors:Array = [0xD0E0FF, 0x4080E0,0xA0D0FF,0x004080,0x2040]; var alphas:Array = [1, 0.7, 0.9, 0.6, 0.8]; var ratios:Array = [0x00, 0xB0, 0xD9, 0xDA, 0xFF]; var matr:Matrix = new Matrix(); matr.createGradientBox(20, h, 0.5*Math.PI, 0, 0); var spreadMethod:String = SpreadMethod.PAD; var tempSprite:Sprite = new Sprite(); tempSprite.graphics.beginGradientFill(fillType, colors, alphas, ratios, matr, spreadMethod); tempSprite.graphics.drawRect(0,0,100,h); var bmp:BitmapData= new BitmapData(2,h,true,0x00); bmp.draw(tempSprite); return bmp; } } }