import flash.display.Loader; import flash.net.URLRequest; import flash.events.Event; import flash.events.MouseEvent; import flash.display.Sprite; var spr:Sprite=new Sprite(); addChild(spr); spr.x=220; var imageArray:Array=new Array(); var btnArray:Array=new Array(); loadXML(); function loadXML():void { //先导入xml文件 var xmlLoader:URLLoader=new URLLoader(); xmlLoader.load(new URLRequest("xml/MM.xml")); xmlLoader.addEventListener(Event.COMPLETE,xmlLoaded); } function xmlLoaded(e:Event):void { //导入完xml文件后,将其中数据置入数组中,方便以后调用 var xml:XML=new XML(e.currentTarget.data); var len:int=xml.image.length();//取得图片数目 for (var i=0; i<len; i++) { btnArray[i]=xml.image[i].@btnName; imageArray[i]=xml.image[i].@url; } //生成6个按钮 for (var j=0; j<len; j++) { var _menuItem:MenuItem=new MenuItem(); _menuItem.name="_menuItem"+j;//为每个按钮取名,方便后面指定点击按钮后出现的图片 _menuItem.buttonMode=true; _menuItem._tf.text=btnArray[j]; addChild(_menuItem); _menuItem.x=28; _menuItem.y=(_menuItem.height+28)*j; _menuItem.addEventListener(MouseEvent.CLICK,_menuItemClicked); } } //点击按钮后,载入图片 function _menuItemClicked(e:MouseEvent):void { var imageIndex:int=e.currentTarget.name.slice(9); var imageLoader:Loader=new Loader(); imageLoader.load(new URLRequest(imageArray[imageIndex])); imageLoader.contentLoaderInfo.addEventListener(Event.COMPLETE,imageLoaded); } function imageLoaded(e:Event):void { removeImage();//移除之前点击按钮显现的图片 spr.addChild(e.currentTarget.loader); } function removeImage():void { var num:int=spr.numChildren; for (var k=0; k<num; k++) { spr.removeChildAt(0); } }