2011-10-26 4 views
0

に再生されている場合、私は私が私のFlexアプリケーションで使用するいくつかの効果を持っている...彼らはすべてのMXMLタグ内で宣言されている... :チェックのいずれかの効果は、Flex 3

<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でそのようなことをチェックする方法があります!

答えて

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

多くのおかげでチームメイト:) – errata

+0

どういたしまして! – moropus

関連する問題