for(var l:int=0; l<anXML.length(); l++){
aButton=new btn_secondTier();
aLocation.addChild(aButton);
//var aButtonDefaults:ButtonDefaults=new ButtonDefaults(aButton);
aButton.y=l*24;
aButton.name=anXML[l].attribute("id");
aButton.title_txt.text=anXML[l].theTitle;
aButton.addEventListener(MouseEvent.ROLL_OVER,onDropOver);
aButton.addEventListener(MouseEvent.ROLL_OUT,onDropOut);
aButton.addEventListener(MouseEvent.CLICK,onClick);
aButton.mouseChildren=true;
for(var k:int=0; k< anXML[l].thirdMenu.length(); k++){
bButton=new btn_thirdTier();
aButton.thirdContainer_mc.addChild(bButton);
bButton.addEventListener(MouseEvent.ROLL_OVER,onMouseOver);
bButton.addEventListener(MouseEvent.ROLL_OUT,onMouseOut);
bButton.buttonMode = true;
bButton.useHandCursor = true;
bButton.y=k*24;
bButton.name=anXML[l].thirdMenu[k].attribute("id");
//bButton.addEventListener(MouseEvent.CLICK,onClick);
aButton.thirdContainer_mc.visible=false;
bButton.title_txt.text=anXML[l].thirdMenu[k].theTitle;
bButton.mouseChildren=false;
}
// PREVENTS THE THIRD NAV FROM THE PRESENTATION BUTTON FROM OVERLAPPING THE EDGE OF THE SCREEN
if(aLocation==main.mainNav_mc.btn_2.secondaryContainer_mc){
aButton.thirdContainer_mc.x=201;
}
// FRAME AROUND TERTIARY BUTTONS
aButton.thirdContainer_mc.thirdNavBG_mc.height=(aButton.thirdContainer_mc.height);
var thirdBGHeight:Number=(aButton.thirdContainer_mc.thirdNavBG_mc.height)+2;
aButton.thirdContainer_mc.thirdNavBG_mc.height=thirdBGHeight;
aButton.thirdContainer_mc.thirdNavBG_mc.width=202;
aButton.thirdContainer_mc.thirdNavBG_mc.x=-1;
aButton.thirdContainer_mc.thirdNavBG_mc.y=-1;
}
目前正在構建一個動態菜單系統,具有3個級別的導航。目前,當鼠標的孩子設置爲「真」時,它不想記住所創建菜單項的名稱。as3 mouseChildren = true不包含所創建按鈕的名稱
它吐出'實例263'或任何數字時,我跟蹤它與我的onClick事件。
當mouseChildren設置爲'false'時,我的第三層導航停止工作。
這裏的目標是讓菜單項保留一個實例名稱,這樣我就可以回到它們併爲當前活動模塊設置活動狀態。
UPDATE:
這裏就是出現問題
private function onClick(e:MouseEvent):void{
var myString=e.target.name;
var aList:Array = myString.split("_");
trace(myString+" gfgfgfg "+argh[0].name);
main.video_controller.nsStream.pause();
main.video_controller.nsStream.close();
main.btn_continue.visible=true;
main.btn_previous.visible=true;
if(e.target.name==xmlData.menu[aList[0]].secondMenu[aList[1]].thirdMenu[aList[2]].attribute("id")){
main.removeActivity();
loadToolBox(xmlData.menu[aList[0]].secondMenu[aList[1]].thirdMenu[aList[2]]);
main.loadModule(xmlData.menu[aList[0]].secondMenu[aList[1]].thirdMenu[aList[2]]);
menu1ID=aList[0];
menu2ID=aList[1];
menu3ID=aList[2];
/////////////////////////// ////////////////////////////////////////////////// ////////////////////////////////////////////////// //////////////////// } }
這是跟蹤我的問題。
trace(myString+" gfgfgfg "+argh[0].name);
myString正在跟蹤(instance263)或其他。
那麼e.target怎麼不跟蹤我的機器名?
當bButton被初始化時,你試過跟蹤anXML [l] .thirdMenu [k] .attribute(「id」)嗎? – 2010-02-02 17:15:05
你能創建一個最小樣本案例嗎? – Killroy 2010-02-02 17:32:40
@Richard Inglis我跟蹤過它,看來我確實得到了菜單第二級的實例名稱。但是,當我點擊第二層中的某個項目時,我剩下的是'instance263'或任何數字。 – DesignedByDave 2010-02-02 18:09:01