zoukankan      html  css  js  c++  java
  • 缩略图宽度不同,设置其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;
    }
    

  • 相关阅读:
    solaris10 服务管理
    DLL的导出导入与调用
    c# Font字体
    WaitForMultipleObjects、WaitForSingleObject、GetExitCodeThread
    solaris10补丁管理
    注册表API函数
    简单的编码加密
    asp.net 调用外部程序
    Global.cs 获取网址
    Jquery easyui dialog组件, 默认不自动打开
  • 原文地址:https://www.cnblogs.com/leon3286/p/1777808.html
Copyright © 2011-2022 走看看