hang2532
แรกเกิด
กำลังใจ 0
ออฟไลน์
กระทู้: 1
|
 |
« เมื่อ: กันยายน 13, 2010, 11:37:06 am » |
|
/* Menu from XML Programming By AR */ /*SWF*/ Stage.showMenu=false; System.useCodepage=true; fscommand("fullscreen", true); /*Config*/ var POSX:Number=10; var POSY:Number=10; var menuBtnH:Number=48; var menuBtnW:Number=192; var gapMenuLeft:Number=0; var gapMenuTop:Number=10; var subMenuBtnH:Number=32; var subMenuBtnW:Number=180; var gapSubMenuLeft:Number=3; var gapSubMenuTop:Number=5; /*Variables*/ var currentMenu:Number=0; var totalMenu:Number=0; /*DataXML*/ var data_xml:XML=new XML(); data_xml.ignoreWhite=true; data_xml.load("menu.xml"); /*Font*/ var menu_fmt:TextFormat = new TextFormat(); menu_fmt.font="Courier UPC"; menu_fmt.size=18; menu_fmt.color=0xFFFFFF; menu_fmt.bold=true; menu_fmt.align="center"; var submenu_fmt:TextFormat = new TextFormat(); submenu_fmt.font="Courier New"; submenu_fmt.size=14; submenu_fmt.color=0xFFFFFF; submenu_fmt.bold=true; /**/ data_xml.onLoad=function():Void { genMenu(this.firstChild); } function genMenu(_xml:XMLNode):Void { while(_xml.childNodes[totalMenu]) { this.createEmptyMovieClip("btn"+(totalMenu+1)+"_mc",this.getNextHighestDepth()); this["btn"+(totalMenu+1)+"_mc"].createEmptyMovieClip("_img",this["btn"+(totalMenu+1)+"_mc"] .getNextHighestDepth()); this["btn"+(totalMenu+1)+"_mc"].createTextField("_txt",this.getNextHighestDepth(),gapMenuLeft,gapMenuTop,menuBtnW,menuBtnH); this["btn"+(totalMenu+1)+"_mc"]._txt.selectable=false; this["btn"+(totalMenu+1)+"_mc"]._txt.wordWrap=true; this["btn"+(totalMenu+1)+"_mc"]._txt.setNewTextFormat(menu_fmt); this["btn"+(totalMenu+1)+"_mc"]._txt.text=_xml.childNodes[totalMenu].attributes.value; this["btn"+(totalMenu+1)+"_mc"]._img.loadMovie("res/button.png"); //this["btn"+(totalMenu+1)+"_mc"]._src=Number(_xml.childNodes[totalMenu].attributes.src); this["btn"+(totalMenu+1)+"_mc"]._no=totalMenu+1; this["btn"+(totalMenu+1)+"_mc"]._xml=_xml.childNodes[totalMenu]; this["btn"+(totalMenu+1)+"_mc"]._show=false; this["btn"+(totalMenu+1)+"_mc"]._x=POSX; this["btn"+(totalMenu+1)+"_mc"]._y=POSY+(totalMenu*menuBtnH); this["btn"+(totalMenu+1)+"_mc"].onPress=function():Void { this._parent.genSubMenu(this._no,this._xml); } totalMenu++; } } function genSubMenu(no:Number,_xml:XMLNode):Void { subMenu_mc.removeMovieClip(); if(no==currentMenu) currentMenu=0; else { var n:Number=0; while(_xml.childNodes[n]) { this.createEmptyMovieClip("subMenu_mc",this.getNextHighestDepth()); subMenu_mc.createEmptyMovieClip("sub"+(n+1)+"_mc",subMenu_mc.getNextHighestDepth()); subMenu_mc["sub"+(n+1)+"_mc"].createEmptyMovieClip("_down",subMenu_mc["sub"+(n+1)+"_mc"].getNextHighestDepth()); subMenu_mc["sub"+(n+1)+"_mc"].createEmptyMovieClip("_over",subMenu_mc["sub"+(n+1)+"_mc"].getNextHighestDepth()); subMenu_mc["sub"+(n+1)+"_mc"].createEmptyMovieClip("_up",subMenu_mc["sub"+(n+1)+"_mc"].getNextHighestDepth()); subMenu_mc["sub"+(n+1)+"_mc"].createTextField("_txt",this.getNextHighestDepth(),gapSubMenuLeft,gapSubMenuTop,subMenuBtnW,subMenuBtnH); subMenu_mc["sub"+(n+1)+"_mc"]._txt.selectable=false; //subMenu_mc["sub"+(n+1)+"_mc"]._txt.wordWrap=true; //subMenu_mc["btn"+(n+1)+"_mc"]._txt.autoSize=true; subMenu_mc["sub"+(n+1)+"_mc"]._txt.setNewTextFormat(submenu_fmt); subMenu_mc["sub"+(n+1)+"_mc"]._txt.text=_xml.childNodes[n].attributes.value; subMenu_mc["sub"+(n+1)+"_mc"]._down.loadMovie("res/buttonDown.png"); subMenu_mc["sub"+(n+1)+"_mc"]._over.loadMovie("res/buttonOver.png"); subMenu_mc["sub"+(n+1)+"_mc"]._up.loadMovie("res/buttonUp.png"); subMenu_mc["sub"+(n+1)+"_mc"]._src=_xml.childNodes[n].attributes.src; subMenu_mc["sub"+(n+1)+"_mc"]._x=this["btn"+(no)+"_mc"]._x+gapMenuTop; subMenu_mc["sub"+(n+1)+"_mc"]._y=this["btn"+(no)+"_mc"]._height+subMenuBtnH*n-gapMenuTop; subMenu_mc["sub"+(n+1)+"_mc"].onRollOver=function():Void { this._down._visible=false; this._over._visible=true; this._up._visible=false; } subMenu_mc["sub"+(n+1)+"_mc"].onRollOut=function():Void { this._down._visible=false; this._over._visible=false; this._up._visible=true; } subMenu_mc["sub"+(n+1)+"_mc"].onPress=function():Void { this._down._visible=true; this._over._visible=false; this._up._visible=false; this._parent._parent.DoSubMenu(this._src); } subMenu_mc["sub"+(n+1)+"_mc"].onRelease=function():Void { this._down._visible=false; this._over._visible=false; this._up._visible=true; } n++; } currentMenu=no; } updateMenu(); } function updateMenu():Void { var tmpy=0; for(var n:Number=0;n<totalMenu;n++) { this["btn"+(n+1)+"_mc"]._x=POSX; this["btn"+(n+1)+"_mc"]._y=POSY+(n*menuBtnH)+tmpy; if(n==currentMenu-1) { subMenu_mc._y=this["btn"+(n+1)+"_mc"]._y; tmpy+=subMenu_mc._height; } } } function DoSubMenu(src:String):Void { trace(src); }
|