【问题标题】:Check if any of effects is playing in Flex 3检查 Flex 3 中是否正在播放任何效果
【发布时间】:2011-10-26 09:23:32
【问题描述】:

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

通常,当我触发一些效果时,如果有任何效果正在播放,我想禁用所有交互,所以我想知道除了动作脚本之外还有其他方法可以检查这些东西

if (!fadeIn.isPlaying && !fadeOut.isPlaying && !moveEffect.isPlaying && !rotateEffect.isPlaying)

非常感谢您的帮助!

【问题讨论】:

    标签: actionscript-3 apache-flex flex3 mxml effects


    【解决方案1】:

    使用ArrayVector 包装您的效果:

    <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;
    }
    

    【讨论】:

      猜你喜欢
      • 2010-11-25
      • 1970-01-01
      • 2011-03-30
      • 2018-12-18
      • 2012-03-15
      • 1970-01-01
      • 1970-01-01
      • 2022-01-21
      相关资源
      最近更新 更多