as3 - 预加载XML图像库

时间:2009-09-30 20:37:21

标签: xml actionscript-3 image-preloader

我有一个图片库类,可以在循环中逐个加载缩略图和完整图像。然后我推入一个数组,并为每个位图创建一个影片剪辑。它运作良好。

在这个过程中,我可以预先加载所有图像,然后再显示整个图库?

感谢名单!

1 个答案:

答案 0 :(得分:1)

我个人非常喜欢这个很棒的BulkLoader库:

  • 非常灵活
  • 它提供了有用的帮助程序来访问加载的资源(例如getBitmap(“asset_id”)返回一个类型化的对象)
  • 它提供了有关进展的有意义的反馈(可以选择返回值以反映总体“权重”的进度,而不是单个文件的原始值可能会有很大差异)
  • 它处理并发加载(显然比按顺序加载更快)。

或者,如果要循环播放自己的解决方案,请在

Event.COMPLETE
通知中添加事件侦听器。在此事件的处理程序中增加一个计数器;一旦此计数器等于您已加载所有资产的元素数量。

的伪代码:

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
    }
}