缩略图宽度不同,设置其x坐标
len=_urlArray.length; //此处是关键。先实例化一个具有与缩略图数量相同的空数组,然后在下面第23行利用splice方法删除索引位置的空元素,并插入相应的元素 arr_thumbnail=new Array(len); arr_thumbnailWidth=new Array(len); function init(_urlArray:Array):void { for (var i:int=0; i<len; i++) { var url:String=_urlArray[i]; var thumbnailLoader:Loader=new Loader(); thumbnailLoader.name=String(i); thumbnailLoader.load(new URLRequest(url)); thumbnailLoader.contentLoaderInfo.addEventListener(Event.COMPLETE,onThumbnailLoaded,false,0,true); } } function onThumbnailLoaded(e:Event):void { counter++;//用于统计当前已经载入多少张缩略图 var thumbnailLoader:Loader=e.currentTarget.loader; var index:int=int(thumbnailLoader.name); arr_thumbnail.splice(index-1,1,thumbnailLoader);//在索引为index-1处删除一个元素,并插入相应的元素 arr_thumbnailWidth.splice(index-1,1,thumbnailLoader.width); //判断,如果载入完所有缩略图再重新安排x坐标 if (counter==len) { setPicXposition(); } } //重新设置每张缩略图x坐标 function setPicXposition():void { for (var j:int=0; j<len; j++) { var thumbnail:Loader=arr_thumbnail[j]; thumbnail.x=j*DISTANCE+getSumArrayElement(arr_thumbnailWidth,j); thumbnail.y=(WIDTH-thumbnail.height)/2; addChild(thumbnail); } } //获取指定数组索引位置之前所有元素之和,包括当前索引号元素 function getSumArrayElement(_arr:Array,_index:int):Number { var _sumElement:Number=0; for (var i0:int=0; i0<_index; i0++) { _sumElement+=_arr[i0]; } return _sumElement; }