点击按钮显现图片(XML)

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);
	}
}
posted @ 2010-05-27 11:23  LT世纪  阅读(501)  评论(0编辑  收藏  举报