加濾鏡效果GlowTween

/**

 * 

 * new GlowTween(xxxx, 0xFFFF00);

 * new GlowTween(xxxx, 0x00FFFF);

 * GlowTween

 */



package com.riaidea.tween

{    

    import flash.display.InteractiveObject;

    import flash.events.Event;

    import flash.events.MouseEvent;

    import flash.filters.GlowFilter;

    

    public class GlowTween

    {

        private var _target:InteractiveObject;

        private var _color:uint;

        private var _toggle:Boolean;

        private var _blur:Number;

        

        public function GlowTween(target:InteractiveObject, color:uint = 0xFFFFFF)

        {

            _target = target;

            _color = color;

            _toggle = true;

            _blur = 2;

            target.addEventListener(MouseEvent.ROLL_OVER, startGlowHandler);

            target.addEventListener(MouseEvent.ROLL_OUT, stopGlowHandler);    

        }

        

        public function remove():void

        {

            _target.removeEventListener(MouseEvent.ROLL_OVER, startGlowHandler);

            _target.removeEventListener(MouseEvent.ROLL_OUT, stopGlowHandler);    

            _target.removeEventListener(Event.ENTER_FRAME, blinkHandler);

            _target.filters = null;

            _target = null;

        }        

        

        private function startGlowHandler(evt:MouseEvent):void

        {

            _target.addEventListener(Event.ENTER_FRAME, blinkHandler, false, 0, true);                

        }

        

        private function stopGlowHandler(evt:MouseEvent):void

        {

            _target.removeEventListener(Event.ENTER_FRAME, blinkHandler);            

            _target.filters = null;

        }

        

        private function blinkHandler(evt:Event):void

        {

            if (_blur >= 20) _toggle = false;

            else if (_blur <= 2) _toggle = true;

            _toggle ? _blur++ : _blur--;            

            var glow:GlowFilter = new GlowFilter(_color, 1, _blur, _blur, 2, 2);

            _target.filters = [glow];    

        }

    }    

}

 

你可能感兴趣的:(效果)