In case Flash no longer exists; a copy of this site is included in the Flashpoint archive's "ultimate" collection.

Dead Code Preservation :: Archived AS3 works from wonderfl.net

forked from: BitmapDataSample9

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

// forked from nutsu's BitmapDataSample9
package {
    
    import flash.display.Sprite;
    import flash.display.BlendMode;
    import flash.display.BitmapData;
    import flash.display.Bitmap;
    import flash.display.BitmapDataChannel;
    import flash.geom.Point;
    import flash.events.Event;
    
    [SWF(width=465,height=465,backgroundColor=0)]
    public class BitmapDataSample9 extends Sprite {
        
        private var bmpdata:BitmapData;
        private var bmpdata2:BitmapData;
        
        public function BitmapDataSample9() {
            //BitmapDataを作成して表示リストに追加
            bmpdata = new BitmapData( 120, 120, false, 0 );
            bmpdata2= new BitmapData( 120, 120, false, 0 );
            
            var bmp:Bitmap = new Bitmap(bmpdata);
            var bmp2:Bitmap = new Bitmap(bmpdata2);
            bmp.scaleX = bmp.scaleY = 4;
            bmp2.scaleX = bmp2.scaleY = 4;
            addChild( bmp );
            addChild(bmp2);
            bmp.blendMode = "normal";   
            bmp2.blendMode = "screen";
                     //イベント
            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    = true;
       
        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 += 2;
            offset[1].y += 1;
            offset[2].y += 0.5;
            
             bmpdata.perlinNoise( baseX, baseY, octaves, randomSeed, stitch, fractalNoise, channelOptions,grayScale, offset);
        }
    }
}