<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" initialize="glintEffect1()" backgroundGradientAlphas="[1.0, 1.0]" backgroundGradientColors="[#400040, #400040]"> <mx:Script> <!--[CDATA[ import flash.display.*; import flash.text.TextField; import com.tween.GlowTween; private function glintEffect1():void { new GlowTween(image1, 0xFFFF00); new GlowTween(image2, 0x00FFFF); } ]]--> </mx:Script> <mx:Image x="69" y="29" id="image2" source="images/Sleek_XP_064.png" width="88" height="74"/> <mx:Image x="214" y="29" id="image1" source="images/Sleek_XP_026.png" width="84" height="74"/> </mx:Application>
package com.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]; } } }