2009-04-13 107 views
0

我想動態地在Flash中製作一個簡單的標籤菜單,我只想在開始使用我的應用程序時啓用第一個選項卡 - 其他將在稍後啓用。但是,在導出電影后,製表符不可點擊(光標不會顯示爲手形),但是當我點擊其中一個時,其代碼就會啓動。問題在哪裏? 這是我的代碼(我只有兩個選項卡至今):AS3問題中的禁用按鈕

var shieldTab = new Tab("Shield", "shieldMenu", 590,120); 
this.addChild(shieldTab); 
mainMenu.push(shieldTab); 
var orderTab = new Tab("Order", "orderMenu", 590+shieldTab.width, 120); 
this.addChild(orderTab); 
mainMenu.push(orderTab); 

for each (var tab:SimpleButton in mainMenu){ 
    tab.addEventListener(MouseEvent.CLICK, showMenu); 
} 

this.orderTab.enabled = false; 

,這是標籤類:

package coa.application{ 
    import flash.display.SimpleButton; 
    import flash.text.*; 

    public class Tab extends SimpleButton { 

     public var menuType:String; 

     public function Tab(tabText:String, menuType:String, x:Number, y:Number) { 
      this.menuType=menuType; 
      var mytext:TextField=new TextField(); 
      var fm:TextFormat = new TextFormat("Verdana", 18); 
      mytext.autoSize = TextFieldAutoSize.CENTER; 
      mytext.text=tabText; 
      mytext.border = true; 
      mytext.selectable = false; 
      mytext.background = true; 
      mytext.setTextFormat(fm); 
      upState = overState = downState = hitTestState = mytext; 
      this.x=x; 
      this.y=y; 

     } 
    } 
} 

回答

1

我不認爲有一個「啓用」屬性。你試過只是mouseEnabled爲false。甚至更好。在您的選項卡類上啓用一個啓用的屬性,然後在showMenu中檢查該屬性。然後,如果該選項卡未啓用,則可以忽略該點擊。

+0

thanx,mouseEnabled屬性解決了我的問題;) – Dungeo 2009-04-13 13:00:56