Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package
- {
- import flash.display.Bitmap;
- import flash.display.BitmapData;
- import flash.display.Sprite;
- import flash.events.Event;
- import flash.geom.Point;
- import flash.geom.Rectangle;
- import flash.utils.ByteArray;
- public class Tester extends Sprite
- {
- private var noiseData:BitmapData;
- private var noiseInfo:Object;
- private var drawData:BitmapData;
- private var drawBMP:Bitmap;
- private var scaler:Number = 3;
- public function Tester()
- {
- var idx:uint
- super();
- noiseData = new BitmapData(stage.stageWidth,1,false,0xFFFFFF);
- noiseInfo = {
- baseX: noiseData.width,
- baseY: noiseData.height,
- octaves: 4,
- seed: Math.floor(Math.random()*100),
- stitch: true,
- fractal: false,
- channels: 1,
- grayscale: true,
- offsets: new Array()
- };
- drawData = new BitmapData(stage.stageWidth, stage.stageHeight, false, 0xFFFFFF);
- drawBMP = new Bitmap(drawData);
- addChild(drawBMP);
- idx = noiseInfo.octaves;
- while(idx--) {
- noiseInfo.offsets.push(new Point(0,0));
- }
- this.addEventListener(Event.ENTER_FRAME, everyFrame);
- }
- private function everyFrame(evt:Event) {
- var offset:Point;
- for each(offset in noiseInfo.offsets) {
- offset.x -= 5;
- }
- createWave();
- }
- private function createWave() {
- var vect:Vector.<uint>;
- var idx:uint;
- var thispixel:uint;
- var y_val:uint;
- noiseData.perlinNoise(noiseInfo.baseX, noiseInfo.baseY, noiseInfo.octaves, noiseInfo.seed, noiseInfo.stitch, noiseInfo.fractal, noiseInfo.channels, noiseInfo.grayscale, noiseInfo.offsets);
- vect = noiseData.getVector(new Rectangle(0,0,noiseData.width,1));
- drawData.fillRect(new Rectangle(0,0,drawData.width, drawData.height),0xFFFFFF);
- for(idx = 0; idx < vect.length; idx++) {
- y_val = (vect[idx] & 0xFF) * scaler;
- drawData.fillRect(new Rectangle(idx, drawData.height - y_val, 1, y_val), 0x0000ff);
- drawData.fillRect(new Rectangle(idx, 0, 1, y_val), 0x0000ff);
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement