我开发了自己的方式来完成这个简单的任务。但是,我现在想知道是否有更好的方法来做到这一点。
按钮:
var menuBtnEscrit:MovieClip = new MovieClip();
var mbe:btnEscritorio = new btnEscritorio();
menuBtnEscrit.addChild(mbe);
menuBtnEscrit.val = "escrit";
menuBtnEscrit.x = 80;
menuBtnEscrit.addEventListener(MouseEvent.CLICK, novoCont);
dMenu.addChild(menuBtnEscrit);
var menuBtnPublic:MovieClip = new MovieClip();
var mbp:btnPublic = new btnPublic();
menuBtnPublic.addChild(mbp);
menuBtnPublic.val = "public";
menuBtnPublic.x = 244;
menuBtnPublic.addEventListener(MouseEvent.CLICK, novoCont);
dMenu.addChild(menuBtnPublic);
我可以继续前进,或者通过一些算法创建按钮,并放置更多属性并利用 MovieClip。
处理程序:
private function novoCont(e=null){
if(e!=null) selecCont = new String(e.target.parent.val);
clearDisplay(dSubMenu);
clearDisplay(dConteudo);
var func:String = "cont_"+selecCont;
this[func]();
}
如您所见,所有按钮都有一些共同的任务。
如果我单击第一个按钮,它将调用 cont_escrit() 函数。这种机制有效,但这是最佳实践吗?有没有办法优化它?