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

flash on 2011-6-29

Get Adobe Flash player
by mrklein 30 Jun 2011
    Embed
/**
 * Copyright mrklein ( http://wonderfl.net/user/mrklein )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/xlE8
 */

package {
    import flash.geom.Point;
    import flash.geom.Rectangle;
    import flash.display.Sprite;
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.events.Event;

    public class FlashTest extends Sprite {
        
        public var spriteToScramble:Sprite;
        public var bitmapToScramble:Bitmap;
        public var scrambledBitmap:Bitmap;
        public var perlinInfo:Bitmap;
        public var perlIndex:Number = 0;
        public var scrambleTo:Number = 1;

        public var toCopyTo:BitmapData = new BitmapData(120, 100, false);
        public var myParentSquareContainer1:Bitmap = new Bitmap(toCopyTo);
            
        public function FlashTest() {
            // write as3 code here..
            spriteToScramble = createSpriteToScramble();
            this.addChild(spriteToScramble);
            bitmapToScramble = createBitmapToScramble(spriteToScramble);
            this.addChild(bitmapToScramble);

            perlinInfo = createPerlinNoise();
            this.addChild(perlinInfo);

            scrambledBitmap  = createScrambledBitmap(bitmapToScramble);
            this.addChild(scrambledBitmap); 
            
            this.addEventListener(Event.ENTER_FRAME,doCopy);
         
        }
        
        public function doCopy(event:Event):void {
            createScrambledBitmap(bitmapToScramble);
            perlIndex = perlIndex + scrambleTo;   
            if (perlIndex == 99) {
                scrambleTo = -1
            }
            if (perlIndex == 0) {
                scrambleTo = 1
            }

        }

        
        public function createSpriteToScramble():Sprite {
            var circle:Sprite = new Sprite();
            circle.graphics.beginFill(0xaaaaaa);
            circle.graphics.drawRect(0,0,100,100);
            circle.graphics.endFill();
            circle.graphics.lineStyle(3,0xff0000);
            circle.graphics.drawCircle(50,50,45); 
            return circle;         
        }

        public function createBitmapToScramble(toBitmap:Sprite):Bitmap {
            var toCopyTo:BitmapData = new BitmapData(100, 100, false);
            toCopyTo.draw(toBitmap);
            var myParentSquareContainer1:Bitmap = new Bitmap(toCopyTo);
            myParentSquareContainer1.x = 150;
            return(myParentSquareContainer1);
        }

        public function createPerlinNoise():Bitmap {
            var perline:BitmapData = new BitmapData(100, 100, false, 0xaaaaaa);
            perline.perlinNoise(87, 190, 2, 37, false, false, 0, true);
            var perlineContainer:Bitmap = new Bitmap(perline);
            perlineContainer.y = 200;
            return perlineContainer;
        }


        public function createScrambledBitmap(toScramble:Bitmap):Bitmap {
            toCopyTo.fillRect(new Rectangle(0,0,toCopyTo.width,toCopyTo.height), 0xffffff);
            myParentSquareContainer1.x = 300;            
            for (var i:Number=0;i< toScramble.height ;i=i+2) {
                var perlColor:uint = perlinInfo.bitmapData.getPixel(perlIndex,i);
                var offsetX:Number = -5 + (10 /  (perlColor /1600000 ));
                toCopyTo.copyPixels(toScramble.bitmapData, new Rectangle(0,i,toScramble.width,1), new Point(10 + offsetX,i));
            }
            return myParentSquareContainer1;
        }

    }
}