forked from: forked from: forked from: flash on 2009-12-28

by PawelGIX forked from forked from: forked from: flash on 2009-12-28 (diff: 5)
♥0 | Line 40 | Modified 2012-07-04 23:54:25 | MIT License
play

ActionScript3 source code

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

// forked from Takayuki.Yamazaki's forked from: forked from: flash on 2009-12-28
// forked from h_ike's forked from: flash on 2009-12-28
// forked from h_ike's flash on 2009-12-28

package {
    import flash.display.*;
    import flash.events.*;
    import flash.geom.*;
    import flash.filters.*;
    public class FlashTest extends Sprite {
            private var bmd:BitmapData;
            private var sprite:Sprite;
            private var mtrx:Matrix;
            private var ct:ColorTransform;
            private var ct2:ColorTransform;
            private var bf:BlurFilter;
            private var i:Number = 1;
            public function FlashTest(){
            bmd = new BitmapData(465,465,false,0);
            addChild(new Bitmap(bmd));
            mtrx = new Matrix();
            ct = new ColorTransform(0.98,0.98,0.2);
            ct2 = new ColorTransform();
            bf = new BlurFilter(2,2,1);
            //
            sprite = new Sprite();
            sprite.graphics.beginFill(0x000000);
            sprite.graphics.drawRect(-10,-10,20,20);
            addEventListener(Event.ENTER_FRAME,loop);
        }
          private function loop(e:Event):void{
              mtrx.identity();
              var s:Number = Math.sin(i)+1;
              mtrx.scale(s,s);
              mtrx.rotate(i++);
              mtrx.translate(mouseX,mouseY);
              //
              ct2.redOffset = Math.random()*255;
              ct2.greenOffset = Math.random()*255
              ct2.blueOffset = Math.random()*255;
              bmd.draw(sprite,mtrx,ct2,BlendMode.SCREEN);
              bmd.colorTransform(bmd.rect,ct);
              bmd.applyFilter(bmd,bmd.rect,bmd.rect.topLeft,bf);
          }
       }
}