我有一个图片库类,可以循环加载缩略图和完整图像。然后我将其推入一个数组并为每个位图创建一个影片剪辑。它运作良好。
在这个过程的一部分,我可以在显示整个画廊之前预加载所有图像?
谢谢!
我有一个图片库类,可以循环加载缩略图和完整图像。然后我将其推入一个数组并为每个位图创建一个影片剪辑。它运作良好。
在这个过程的一部分,我可以在显示整个画廊之前预加载所有图像?
谢谢!
我个人是很棒的BulkLoader库的忠实粉丝:
或者,如果您想推出自己的解决方案,在循环时,将事件侦听器添加到
事件.完成通知。在此事件的处理程序中增加一个计数器;一旦此计数器等于您已加载所有资产的元素数。
伪代码:
var loadCounter:int = 0;
var img_arr:Array = [
"img1_thumb.jpg", "img1.jpg",
"img2_thumb.jpg", "img2.jpg",
...
];
var image_num:int = img_arr.length;
var ldr:Loader;
var req:URLRequest;
var path:String;
var i:int = 0;
for(; i < image_num; i++)
{
path = "http://myserver.com/images/" + img_arr[i];
req = new URLRequest(path);
ldr = new Loader();
ldr.contentLoaderInfo.addEventListener(Event.COMPLETE, _onLoadComplete);
ldr.load(req);
}
private function _onLoadComplete(event:Event):void
{
if(++loadCounter == image_num)
{
// do whatever you need to your loaded assets
}
}