forked from: flash on 2010-2-21

by mhayashi forked from flash on 2010-2-21 (diff: 41)
♥0 | Line 34 | Modified 2010-02-21 19:31:28 | MIT License
play

ActionScript3 source code

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

// forked from mhayashi's flash on 2010-2-21
package {
	import flash.events.Event;
    import flash.display.Sprite;
	import flash.display.Bitmap;
    import flash.display.BitmapData;
    import flash.display.BitmapDataChannel;
    import flash.geom.Point;
	
	[SWF(width=465, height=465, backgroundColor=0)]
    public class BitmapDataSample extends Sprite {

		private var bmpdata:BitmapData;
		
        public function BitmapDataSample() {
			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 {
			bmpdata.perlinNoise( baseX, baseY, octaves, randomSeed, stitch, fractalNoise, channelOptions, grayScale, offset);
			offset[0].y += 2;
			offset[1].y += 1;
			offset[2].y += 0.5;
		}
    }
}