2010-11-05 25 views
0

所以我有一個名爲signInBtn一個影片剪輯,一個叫signOutBtn 最初,你如何製作一個影片剪輯,點擊後變得可見?

signOutBtn.visible = false; 

但當

signInBtn.visible = false; 
signOutBtn.visible = true; 

用戶的跡象,但我做到這一點後,我不能點擊signOut影片剪輯。我認爲這可能是因爲signOutBtn在隱形signInBtn之下,但事實並非如此。

+0

您是否在MovieClip上使用Event.CLICK? – Jordan 2010-11-05 00:59:14

+0

您應該使用一個按鈕來更改標籤並根據標籤定位不同的事件,而不是管理2個不同的按鈕。 – TheDarkIn1978 2010-11-05 01:33:38

+0

是的,我正在使用Event.CLICK – 2010-11-05 01:45:47

回答

0

編輯

signout works when it is in a different position to sign in but when it is in 
the same position as signin it cant be clicked. when the sign out button is half 
over the same position as the signin button, half the signout button works and 
half doesnt 

如果你有一個影片剪輯或雪碧在另一個上面,鼠標事件將被屏蔽,還有周圍的方式雖然。在任何情況下,在你的榜樣,只是禁用按鈕,當你不需要它編輯的

 signInBtn.visible = false; 
    signInBtn.mouseEnabled = false; 

    signOutBtn.visible = true; 

有沒有明顯的原因,其知名度已打開後signOutBtn不應該點擊。錯誤在別的地方。

確保兩個按鈕在更改其可見性之前都是可點擊的。

您是否已將事件偵聽器添加到兩個按鈕中,您是否在事件觸發後刪除事件偵聽器?

+0

他們都有事件監聽器,他們都可點擊 – 2010-11-05 04:47:11

+0

登錄工作時,它是在不同的位置登錄,但是當它位於登錄相同的位置,它不能被點擊。當退出按鈕的位置與登錄按鈕位於同一位置時,退出按鈕的一半有效,一半不會退出 – 2010-11-05 04:49:15

+0

,那麼您可能需要顯示一些代碼。正如我之前所說的,更改可見性不會影響按鈕是否可點擊。我們需要更多地瞭解您的實施... – PatrickS 2010-11-05 04:50:20

0
package 
{ 
import fl.controls.Button; 
import flash.display.Sprite; 
import flash.events.MouseEvent; 

public class Test extends Sprite 
{ 
private static const SIGN_IN:String = "Sign In"; 
private static const SIGN_OUT:String = "Sign Out"; 

private var button:Button; 

public function Test() 
    { 
    button = new Button(); 
    button.addEventListener(MouseEvent.CLICK, buttonClickEventListener); 
    button.label = SIGN_IN; 

    addChild(button); 
    } 

private function buttonClickEventListener(evt:MouseEvent):void 
    { 
    switch (button.label) 
      { 
      case SIGN_IN: button.label = SIGN_OUT; 
          trace("Signed in"); 
          break; 

      case SIGN_OUT: button.label = SIGN_IN; 
          trace("Signed out"); 
      } 
     } 
} 
} 
+0

這是非常感謝 – 2010-11-05 04:46:31

相關問題