我在我的Flex应用程序中使用了一些特效...它们都是在mxml标记中声明的…例如:
<mx:Fade id="fadeIn" alphaTo="1" duration="500"/>
<mx:Fade id="fadeOut" alphaTo="0" duration="500"/>
<mx:Move id="moveEffect" duration="500"/>
<mx:Rotate id="rotateEffect" duration="500"/>
通常,当我触发一些特效时,我想禁用所有正在播放的特效的交互,所以我想知道有没有办法在actionscript中检查这些东西
if (!fadeIn.isPlaying && !fadeOut.isPlaying && !moveEffect.isPlaying && !rotateEffect.isPlaying)
非常感谢您的帮助!
发布于 2011-10-26 17:45:06
使用Array
或Vector
包装您的效果
<fx:Declarations>
<fx:Vector id="effects" type="mx.effects.Effect">
<mx:Fade id="fadeIn" alphaTo="1" duration="500"/>
<mx:Fade id="fadeOut" alphaTo="0" duration="500"/>
<mx:Move id="moveEffect" duration="500"/>
<mx:Rotate id="rotateEffect" duration="500"/>
</fx:Vector>
</fx:Declarations>
private function isEffectPlaying():Boolean
{
for (var i:int = 0; i < effects.length; i++)
{
if (effects[i].isPlaying)
return true;
}
return false;
}
https://stackoverflow.com/questions/7900833
复制相似问题