在AS3问题中禁用按钮

时间:2009-04-13 11:35:59

标签: actionscript-3 button

我想动态地在flash中制作一个简单的标签菜单,我只想在我的应用程序开始工作时启用第一个标签 - 其他标签将在以后启用。但是,导出影片后,选项卡不可单击(光标不会显示为手形),但是当我单击其中一个时,其代码将启动。哪里可能有问题? 这是我的代码(到目前为止我只有两个标签):

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;

这是Tab类:

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 个答案:

答案 0 :(得分:1)

我认为没有“启用”属性。你有没有尝试过mouseEnabled为false。甚至更好。在选项卡类上创建一个启用的属性,然后在showMenu中检查它。然后,如果未启用选项卡,则可以忽略该单击。