问题描述
|
我需要突出显示按钮的边框,所以我创建了一个发光滤镜,如下所示:
<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}});
容易吧? :)