【问题标题】:Glow effect does not "cycle"发光效果不会“循环”
【发布时间】:2011-04-05 09:32:30
【问题描述】:

在我的 mx:Image 组件上,我有一个 creationCompleteEffect="glowIn"

  <mx:Glow id="glowIn" duration="700"
 alphaFrom="0" alphaTo="1"
 blurXFrom="0.0" blurXTo="30.0" 
 blurYFrom="0.0" blurYTo="30.0"  strength="2"
 color="0xCCFFCC" effectEnd="glowOut"/>

 <mx:Glow id="glowOut" duration="800"
 alphaFrom="1" alphaTo="0"
 blurXFrom="30.0" blurXTo="0.0"
 blurYFrom="30.0" blurYTo="0.0"  strength="2"
 color="0xCCFFCC" effectEnd="glowIn"/>

问题是效果确实会产生onComplete事件,但是self效果中的“effectEnd”并没有发生。因此,它不会通过 gloomEffects 循环,而是简单地停留在第一个 (glowIn) 上。有什么解决办法吗?

谢谢,严

【问题讨论】:

    标签: apache-flex components effects glow


    【解决方案1】:

    你想在 effectEnd 上做什么?通常你会尝试调用一个方法,但看起来你只是给它一个字符串值。试试这样的:

      <mx:Glow id="glowIn" duration="700"
     alphaFrom="0" alphaTo="1"
     blurXFrom="0.0" blurXTo="30.0" 
     blurYFrom="0.0" blurYTo="30.0"  strength="2"
     color="0xCCFFCC" effectEnd="{glowIn(event)}"/>
    
     <mx:Glow id="glowOut" duration="800"
     alphaFrom="1" alphaTo="0"
     blurXFrom="30.0" blurXTo="0.0"
     blurYFrom="30.0" blurYTo="0.0"  strength="2"
     color="0xCCFFCC" effectEnd="{glowOut(event)}"/>
    

    您的事件处理程序将是这样的:

    public function glowIn(e:Event):void{
     // do stuff
    }
    public function glowOut(e:Event):void{
     // do stuff
    }
    

    这应该不是问题,但我从未见过有人在实际效果上监听 efectEnd 事件。通常他们在 UIComponent 上监听它。 Sok,如果一切都失败了,请将您的处理程序函数移动到实际的 UIComponent。

    【讨论】: