2016-05-26 54 views
0

當前正在製作一個按鈕,用於打開和關閉影片剪輯的可見性。這是我的代碼;Actionscript 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語句都是真的。第一個啓用第二個,否定第一個的影響。

只是這樣做:

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