forked from: Brightness tween with BetweenAS3

by nondelion forked from Brightness tween with BetweenAS3 (diff: 43)
♥0 | Line 53 | Modified 2009-10-22 19:35:17 | MIT License
play

ActionScript3 source code

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

// forked from nondelion's Brightness tween with BetweenAS3 
package
{
    import flash.display.Sprite;
    import flash.text.*;
    import flash.events.MouseEvent;
    import flash.filters.ColorMatrixFilter;
    import org.libspark.betweenas3.BetweenAS3;
    import org.libspark.betweenas3.easing.*;
    import org.libspark.betweenas3.tweens.IObjectTween;
    
    public class BrightnessTweenTest extends Sprite
    {   
        private var box:Sprite;
        private var t:IObjectTween;
        private var base:Array = [
                                    1, 0, 0, 0, 0,
                                    0, 1, 0, 0, 0,
                                    0, 0, 1, 0, 0,
                                    0, 0, 0, 1, 0
                                 ];
        private var cmf:ColorMatrixFilter;
        private var f:Array;
        
        public function BrightnessTweenTest() 
        {
            box = addChild( new Sprite() ) as Sprite;
            box.graphics.beginFill(0xff0000, 1.0);
            box.graphics.drawRect(0, 0, 300, 300);
            box.graphics.endFill();
            box.x = 82.5;
            box.y = 82.5;
            
            cmf = new ColorMatrixFilter( base );
            f = [ cmf ];
            
            stage.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
            
            var txt:TextField = addChild( new TextField() ) as TextField;
            txt.text = "Click start.";
            txt.autoSize = TextFieldAutoSize.LEFT;
                 
        }
        
        private function mouseDownHandler(evt:MouseEvent):void
        {
            if(t) t.stop();
            t = BetweenAS3.tween( this, { brightness: -255 }, { brightness: 255 }, 4.0 );
            t.play();
        }
        
        private var _brightness:Number = 0;
        public function set brightness( num:Number ):void
        {
            base[4] = num;
            base[9] = num;
            base[14] = num;
            cmf.matrix = base;
            box.filters = f;
        }
    }
}