glow让控件发光,如何动态的去掉发光效果

smallbear923 2010-07-17 07:56:27
请给个例子,谢谢~~
...全文
158 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
smallbear923 2010-07-20
  • 打赏
  • 举报
回复
GlowTween他们的做的确实很好用,哎,都给他们封装好了。。。
leemiki 2010-07-17
  • 打赏
  • 举报
回复
封装好的组件GlowTween.as
package effect
{
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;
private var evt:Event;

public function GlowTween(target:InteractiveObject, color:uint=0xFFFFFF)
{
_target=target;
_color=color;
_toggle=true;
_blur=2;
startGlowHandler(evt);
target.addEventListener(MouseEvent.ROLL_OUT, startGlowHandler);
}

private function removeGlow(target:InteractiveObject):void{
_target=target;
target.addEventListener(MouseEvent.ROLL_OUT, stopGlowHandler);
}

private function startGlowHandler(evt:Event):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, 3);
_target.filters=[glow];
}
}
}
用法:发光new GlowTween(组件id,发光颜色)如new GlowTween(id,0xFFF000)
不发光var glow:GlowTween = new GlowTween();glow.removeGlow(组件id);

4,327

社区成员

发帖
与我相关
我的任务
社区描述
多媒体/设计 Flex
社区管理员
  • Flex
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧