Flex:如何创建持续时间为的彩色发光滤镜

问题描述

| 我需要突出显示按钮的边框,所以我创建了一个发光滤镜,如下所示:
<s:GlowFilter id=\"GlowFilter1\"
  color=\"0xD9D919\"
   blurX=\"30\" blurY=\"40\"
  alpha=\"1\"
 />
问题是我不知道要删除效果。如突出显示的那样,效果仍然存在。 因此,我想设置一个持续时间,或一些可以消除我创建的效果的东西。 谢谢。     

解决方法

根据Adobe Live文档。   从显示对象中删除过滤器      从显示屏上卸下所有过滤器   对象就像分配一个对象一样简单   过滤器属性的null值:      myDisplayObject.filters = null; 因此,如果需要,您可以在一段时间后使用Timer将filter设置为null,或将其放入事件中(例如MouseOut)     ,如果使用Flex 3,请使用AnimateProperty类。 在文档中有一个例子     ,我不能说我是Flex的过滤器/动画的粉丝。他们似乎对我来说太混乱了。我个人使用TweenMax,因为它既快速又易于使用。在这种情况下,如果要创建发光滤镜,可以这样做:
import com.greensock.*; 
import com.greensock.easing.*;
import com.greensock.plugins.*;

// First you need to \'activate\' the plugin.  Only need to do this once on app startup.
TweenPlugin.activate([GlowFilterPlugin]);

// Fade in glow
TweenMax.to(yourComponent,1,{glowFilter:{color:0x91e600,alpha:1,blurX:30,blurY:30}});

// Fade out glow
TweenMax.to(yourComponent,{glowFilter:{alpha:0,remove:true}});
容易吧? :)