| 基本思路: 先给id赋值1,然后通过判断id与总图片数的大小,来决定是否加载下一张图片就像这样: myObj.onLoadComplete = function() {if (id<=nums) {//一个图片加载完成后,判断id与nums的值,如果小于nums继续加载
 id++;
 loadpic(id);
 }
 };
 然后在loadpic(id)函数里执行: myCL.loadClip(imgurl, loadpic_mc); 就可以继续加载了。 最后是与XML结合的问题,其实也满简单的,当加载完外部xml时,执行相应的函数就行了,就像这样: myXML.onLoad = function(suc) {if (suc) {
 loadStart();//载入完成后执行loadStart函数
 }
 };
 基本思路就是这样,贴上源码: var id = 1;var myXML:XML = new XML();
 myXML.ignoreWhite = true;
 myXML.load("list.xml");//载入xml
 myXML.onLoad = function(suc) {
 if (suc) {
 loadStart();//载入完成后执行loadStart函数
 }
 };
 var myObj:Object = new Object();
 myObj.onLoadComplete = function() {
 if (id<=nums) {//一个图片加载完成后,判断id与nums的值,如果小于nums继续加载
 id++;
 loadpic(id);
 }
 };
 myObj.onLoadInit = function(tar) {//加载完成后,设置图片大小
 tar._width = 85;
 tar._height = 53;
 tid = id-1;
 //将loading和灰色背景设为不可见,并给按钮加上事件
 //这里有个小技巧就是将tid赋予_btn.pid;方便将来调用
 _root["loader"+tid+"_mc"].loading_mc._visible = false;
 _root["loader"+tid+"_mc"].bg1_mc._visible = false;
 _root["loader"+tid+"_mc"]._btn.pid = tid;
 _root["loader"+tid+"_mc"]._btn.onRelease = function() {
 ttid = this.pid;
 url = myList[ttid].childNodes[0];//取得xml文件对应的url
 getURL(url);
 };
 };
 var myCL:MovieClipLoader = new MovieClipLoader();
 function loadStart() {
 myList = myXML.firstChild.childNodes;
 nums = myList.length;//得到图片数
 for (var i = 1; i<=nums; i++) {//复制库里的mc,并将其置于舞台上,分配好各自的坐标
 _root.attachMovie("bg_loader", "loader"+i+"_mc", 100+i);
 _root["loader"+i+"_mc"]._x = (i%5 == 0) ? 450 : (10*(i%5)+100*(i%5-1));
 ty=i%5 == 0 ? (Math.floor(i/5-1)*80) : (Math.floor(i/5)*80);
 _root["loader"+i+"_mc"]._y = 10+ty
 }
 myCL.addListener(myObj);//设置监听
 myCL.loadClip("imgs/small01.jpg", _root.loader1_mc.loadpic_mc);//加载第一副图片
 }
 function loadpic(id) {
 //取得xml文件里相应的图片地址
 imgurl = myList[id-1].attributes.path;
 myCL.loadClip(imgurl, _root["loader"+id+"_mc"].loadpic_mc);
 }
 源文件下载:moviecliploader.rar 经典论坛讨论:http://bbs.blueidea.com/thread-2669734-1-1.html
 出处:蓝色理想
责任编辑:moby
 上一页 多图动态载入 [1] 下一页 ◎进入论坛Flash专栏版块参加讨论
	      |