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

Adobe is being the bitch: zoomer

Adobe is being the bitch 
Please support rtmpdump by making creative code with this number 
Since wonderfl is in Japan, Adobe can stick their DMCA up theirs 
@see http://ncannasse.fr/blog/rtmpe_and_dmca?lang=en
// Adobe is being the bitch 
// Please support rtmpdump by making creative code with this number 
// Since wonderfl is in Japan, Adobe can stick their DMCA up theirs 
// @see http://ncannasse.fr/blog/rtmpe_and_dmca?lang=en 
package { 
    import flash.display.Bitmap;
    import flash.display.BitmapData;
    import flash.display.Sprite; 
    import flash.filters.BlurFilter;
    import flash.geom.ColorTransform;
    import flash.geom.Matrix;
    import flash.text.TextField; 
    public class AdobeTheBitch extends Sprite { 
        public var poem:Array = [ 
            0x47, 0x65, 0x6E, 0x75, 0x69, 0x6E, 0x65, 0x20, 
            0x41, 0x64, 0x6F, 0x62, 0x65, 0x20, 0x46, 0x6C, 
            0x61, 0x73, 0x68, 0x20, 0x50, 0x6C, 0x61, 0x79, 
            0x65, 0x72, 0x20, 0x30, 0x30, 0x31, 0xF0, 0xEE, 
            0xC2, 0x4A, 0x80, 0x68, 0xBE, 0xE8, 0x2E, 0x00, 
            0xD0, 0xD1, 0x02, 0x9E, 0x7E, 0x57, 0x6E, 0xEC, 
            0x5D, 0x2D, 0x29, 0x80, 0x6F, 0xAB, 0x93, 0xB8, 
            0xE6, 0x36, 0xCF, 0xEB, 0x31, 0xAE 
        ];

        private var ba:BitmapData = new BitmapData (500, 500, true, 0);
        private var bb:BitmapData = new BitmapData (500, 500, false, 0);
        private var bc:BitmapData = new BitmapData (500, 500, false, 0);

        public function AdobeTheBitch() {
            Wonderfl.capture_delay (10);
            this.graphics.beginFill (0xFFFFFF);
            this.graphics.drawCircle (500/2, 500/2, 6);
            ba.draw (this);

            var bbb:Bitmap = new Bitmap (bb, "never", true);
            bbb.x = -17.5; bbb.y = -17.5;
            addChild (bbb);
            addEventListener ("enterFrame", zoom);

            zmat = new Matrix;
            zmat.translate ( -500/2, -500/2);
            zmat.scale (1.09, 1.09);
            zmat.rotate (-0.1);
            zmat.translate ( +500/2, +500/2);

            var t:TextField = new TextField; 
            t.autoSize = "left"; 
            for (var i:int = 0; i < poem.length; i++) { 
                var s:String = int(poem [i]).toString (16) + " "; 
                if (s.length < 3) 
                    s = "0" + s; 
                t.appendText (s); 
                if (i % 8 == 7) 
                    t.appendText ("\n"); 
            } 
            t.htmlText = "<font face=\"fixedsys\">" + 
                t.text + "</font>"; 
            addChild (t); 
        } 

        private var ptr:int = 0;
        private var zmat:Matrix;
        private var filter:BlurFilter = new BlurFilter (1.2, 1.2);
        private var fader:ColorTransform = new ColorTransform (1.03, 1.03, 1.03, 1, -3, -3, -3);
        private function zoom (e:*):void
        {
            for (var i:int = 0; i < 60; i++) {
                var a:Number = 6 * i * Math.PI / 180;
                var c:uint = 0xFF000000;
                c += 0xFF000000 + poem [ptr]; ptr++; ptr %= poem.length;
                c += 256 * poem [ptr]; ptr++; ptr %= poem.length;
                c += 65536 * poem [ptr]; ptr++; ptr %= poem.length;
                ba.setPixel32 (
                    int (500/2 + 6 * Math.sin (a)),
                    int (500/2 + 6 * Math.cos (a)),
                    c
                );
            }

            bc.draw (bb, zmat); bb.draw (bc);
            bb.colorTransform (bb.rect, fader);
            bb.draw (ba);
            bb.applyFilter (bb, bb.rect, bb.rect.topLeft, filter);
        }
    } 
}