AS3 Loader() - 使用一个加载器加载多个图像

时间:2010-03-11 16:20:47

标签: actionscript-3

我正在尝试在AS3中加载多个图像,我正在探索如何做到这一点的不同选项。

我想只使用一个Load()实例并处理onComplete处理程序中的各种图像分配......

这是我的第一次尝试:

var buttonLdr:Loader = new Loader();
buttonLdr.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, onLoadError);
buttonLdr.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoadComplete);

whichButton = 0;
buttonLdr.load(new URLRequest("images/test.png"));

whichButton = 1;
buttonLdr.load(new URLRequest("images/testDown.png"));

whichButton = 2;
buttonLdr.load(new URLRequest("images/testHover.png"));

private function onLoadComplete(e:Event):void
{
    switch(whichButton)
    {
        case 0:
            buttonBgUp = e.target.loader.content;
            break;
        case 1:
            buttonBgDown = e.target.loader.content;
            break;
        case 2:
            buttonBgHover = e.target.loader.content;
            break;
    }
    create();
}

一种非常简单的方法......虽然它只调用最后一次调用的函数,但是设置了buttonBgHover,但没有别的。

对此可能发生的任何指导都将不胜感激。

-Thanks

1 个答案:

答案 0 :(得分:1)

只有在前一次加载完成时才需要调用下一个加载。

whichButton = 0;
buttonLdr.load(new URLRequest("images/test.png"));
private function onLoadComplete(e:Event):void
{
switch(whichButton)
{
    case 0:
         buttonBgUp = e.target.loader.content;
        whichButton = 1;
        buttonLdr.load(new URLRequest("images/testDown.png"));
        break;
    case 1:
         buttonBgDown = e.target.loader.content;
        whichButton = 2;
        buttonLdr.load(new URLRequest("images/testHover.png"));
        break;
    case 2:
        buttonBgHover = e.target.loader.content;             
        break;
}
create();

}