2016-05-26 10 views
0

現在、ムービークリップの表示/非表示を切り替えるボタンを作成しています。ここに私のコードです。アクションスクリプト3;どのようにトグルボタンを作る?

infoButton.addEventListener(MouseEvent.CLICK, howToPlay); 


var boxUp:Boolean = false; 

function howToPlay(event:MouseEvent):void 
{ 
    if(boxUp == false) 
    { 
     infoBox.visible = true; 
     boxUp = true; 
    } 
    if(boxUp == true){ 
     infoBox.visible = false; 
     boxUp = false; 
    } 


} 

ただし、ボタンをクリックしても何も起こりません。私はこれが自己矛盾する機能だと仮定していますが、ムービークリップが表示されているかどうかを保存する方法はわかりません。

誰でも手助けできますか?

答えて

1

自己矛盾機能

ほとんど。

デバッガでコードをステップ実行すると、両方のif文が真であることがわかります。最初のものは2番目のものを有効にし、最初の効果を無効にします。ボックスが表示されている場合、それは表示されていない、私の知る限り、それは言っています、

function howToPlay(event:MouseEvent):void 
{ 
    infoBox.visible = !infoBox.visible; 
} 

が、私は本当に興味:

ただ、これを行いますか?

はい。 !はブール値を反転します。 visibleプロパティは値に設定されます。値は独自の値ですが、反転されます。 trueの場合はfalseとなり、逆の場合はとなります。両側のプロパティを使用すると、あなたを混乱させる場合

、ハードコードされた値と最初のいくつかの単純なコードを試してみてください。

infoBox.visible = !true; 
    infoBox.visible = !false; 
+0

私はあなたを愛しています。可能であれば、このラインの仕組みを説明できますか?私の文書ではうまくいっていますが、本当に好奇心が強いのですが、ボックスが表示されているかどうかを確認できれば、表示されません。 – Murphos

+1

@Murphos確かに、私はいくつかの説明を加えました、それはそれを明確にしますか? – null

+1

ありがとう、ありがとうございます:) – Murphos

関連する問題