发光效果不会“循环”

时间:2010-08-29 10:48:06

标签: flex components effects glow

在我的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"/>

问题在于效果会影响完成事件,但自然效果中的“effectEnd”不会发生。因此,它不是通过glowEffects循环,而是停留在第一个(glowIn)上。任何解决方案?

谢谢,颜

1 个答案:

答案 0 :(得分:0)

你想在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。