我想动态地在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;
}
}
}
答案 0 :(得分:1)
我认为没有“启用”属性。你有没有尝试过mouseEnabled为false。甚至更好。在选项卡类上创建一个启用的属性,然后在showMenu中检查它。然后,如果未启用选项卡,则可以忽略该单击。