2009-04-13 7 views
0

私は、動的に簡単なタブメニューを作りたいと思っています。最初のタブだけを私のアプリで作業の開始時に有効にしておきます。しかし、ムービーを書き出した後、タブはクリックできません(カーソルは手で表示されません)。一方をクリックすると、そのコードが起動されます。どこに問題がありますか? これは私のコード(私はこれまでのところ唯一の2つのタブが持っている)である。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

関連する問題