一个flash+xml图片切换的效果 怎么做

2024-12-27 21:06:44
推荐回答(1个)
回答1:

1:新建一个txt文本,里面写上以下内容,保存好后,然后把后缀名改为 xml,命名为 imgURL





……以下省略,你想用什么相片就用上面的格式填什么相片的路径就可以了,如此类推


【注释:img/g (1).jpg 这个,img是用来装你要用的相片的文件夹的名称,
g (1).jpg 是相片的名字加后缀名的意思想用……然后你想用哪张相片,然后就用
什么相片就用上面的格式填什么相片的路径就可以了,如此类推,格式就不再累赘描述了


2:在fla上写代码:
Stage.align = "TL";
System.useCodepage = true;
//装载相片路径的数组
var picArr = new Array();
var numth:Number;
//相片总数
var pic_num:Number;
var mcObj = new Object();
var mcl = new MovieClipLoader();
//实例化XML文档
var xml = new XML();
//读取xml时忽略里面的空格
xml.ignoreWhite = true;
//imgURL.xml是你刚才建立的xml的名称
xml.load("./imgURL.xml");
xml.onLoad = function(ok:Boolean) {
if (ok) {
//如果文档读取成功
var total = this.firstChild.childNodes;
pic_num = total.length;
for (i=0; i var picName = total[i].attributes.imgName;
picArr.push({src:picName});
}
pic_num = picArr.length;
//numth至少是1
numth = 1;
} else {
"failtoloadthexml";
}
loadImg();
btn_control();
};
this.createEmptyMovieClip("totalMC",-1);
function loadImg() {
img = totalMC.createEmptyMovieClip("pic"+numth, numth);
mcl.loadClip(picArr[numth-1].src,img);
}
mcObj.onLoadInit = function(img:MovieClip) {
//只装载相片的位置----居中
img._x = (Stage.width-img._width)/2;
img._y = (Stage.height-img._height)/2;
img.swapDepths(pic_num+1);
//按钮的行为
btn_control();
};
mcl.addListener(mcObj);
function btn_control() {
//按钮的排列
for (i=1; i<=pic_num; i++) {
//库里面建有一个按钮,然后标识名命名为btn
btns = _root.attachMovie("btn", "btn"+i, _root.getNextHighestDepth());
//10是按钮之间的间隔,20是第一个按钮起点位置
btns._x = (btns._width+10)*i+20;
btns._y = Stage.height-btns._height-20;
btns.i = btns._name;
btns.onPress = function() {
numth = this.i.substring(3, this.i.length);
loadImg();
};//endofPressfun
}
}

3:保存好fla,测试播放~~大功告成……\(^o^)/~,但愿可以帮到你