【问题标题】:Flex: How to create a color Glow filter with durationFlex:如何创建具有持续时间的颜色发光滤镜
【发布时间】:2011-08-04 15:25:49
【问题描述】:

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

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

问题是我不知道删除效果。效果保留在选项中,因为它被突出显示。 因此,我想设置一个持续时间,或者一些可以消除我创建的效果的东西。

谢谢。

【问题讨论】:

    标签: apache-flex colors filter effect


    【解决方案1】:

    根据adobe live docs

    从显示对象中删除过滤器

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

    myDisplayObject.filters = null;

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

    【讨论】:

    • 谢谢,但我仍然不知道如何设置过滤器的持续时间。对于淡入淡出效果,我可以这样做...
    • @manel 据我了解,您主要使用 mxml 而不是 as3,因此您应该尝试 Florian F 的回答
    【解决方案2】:

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

    doc中有一个例子

    【讨论】:

      【解决方案3】:

      我不能说我是 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}});
      

      简单吧? :)

      【讨论】:

      • 我没有看到任何关于正在询问的“延迟”的信息
      猜你喜欢
      • 1970-01-01
      • 2019-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-16
      相关资源
      最近更新 更多