/**
*
* 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];
}
}
}