一个flash+xml图片切换的效果 怎么做 20
1个回答
展开全部
1:新建一个txt文本,里面写上以下内容,保存好后,然后把后缀名改为 xml,命名为 imgURL
<?xml version="1.0" encoding="UTF-8"?>
<gallary>
<imgURL imgName="img/g (1).jpg" />
<imgURL imgName="img/g (2).jpg" />
<imgURL imgName="img/g (3).jpg" />
……以下省略,你想用什么相片就用上面的格式填什么相片的路径就可以了,如此类推
</gallary>
【注释: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<total.length; 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^)/~,但愿可以帮到你
<?xml version="1.0" encoding="UTF-8"?>
<gallary>
<imgURL imgName="img/g (1).jpg" />
<imgURL imgName="img/g (2).jpg" />
<imgURL imgName="img/g (3).jpg" />
……以下省略,你想用什么相片就用上面的格式填什么相片的路径就可以了,如此类推
</gallary>
【注释: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<total.length; 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^)/~,但愿可以帮到你
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |