Flex:如何创建具有持续时间的颜色发光滤镜

时间:2011-04-13 11:30:43

标签: flex colors filter effect

我需要突出显示一个按钮的边框,所以我创建了一个这样的发光滤镜:

<s:GlowFilter id="GlowFilter1"
  color="0xD9D919"
   blurX="30" blurY="40"
  alpha="1"
 />

问题是我不知道要删除效果。如果突出显示,效果仍然存在于选项中。 因此,我想设置一个持续时间,或者删除我创建的效果的东西。

感谢。

3 个答案:

答案 0 :(得分:2)

根据adobe live docs

  

从显示对象中删除过滤器

     

从显示屏中删除所有过滤器   对象就像分配一个简单   filter属性的null值:

     

myDisplayObject.filters = null;

因此,如果您愿意,可以使用Timer在一段时间后将过滤器设置为null,或将其放入事件中(例如MouseOut)

答案 1 :(得分:1)

如果您使用Flex 3,请使用AnimateProperty类。

doc

中有一个例子

答案 2 :(得分:1)

我不能说我是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, 1, {glowFilter:{alpha:0, remove:true}});

好吧? :)