显示缩略图图像时出现问题

时间:2011-08-13 06:27:02

标签: actionscript-3 flash-cs5

我创建了3个movieClip,并添加到另一个名为 mc 的movieClip容器中。

for(i = 0;i<3;i++)
{
    imgBox = new box();
    mc.addChild(imgBox);
    imgBox.name = "box" + i;
}

xml 图片名称为 image1.jpg,image2.jpg和imag3.jpg 并存储在 thumbArray

for(i = 0;i<thumbArray.length; i++)
    {
        thumbLoader = new Loader();
        thumbLoader.load(new URLRequest(thumbArray[i]));
            thumbLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, onThumbLoaded);

    }

我装了。

int count = -1;
function onThumbLoaded (e:Event):void
{
    count++;
    var img:Bitmap = Bitmap(e.target.content);
    MovieClip(mc.getChildByName("box" +count)).addChild(img);
}

最后加载了,但显示的海序序像 image3,image1和image2 。我想要海量 image1,image2和imag3

有什么问题?

1 个答案:

答案 0 :(得分:1)

问题在于您无法控制每次加载的速度,因此无法保证第一个加载器将首先完成等等。您的最佳方法可能是命名加载器,并使用名称来引用目标。像这样:

for(i = 0;i<thumbArray.length; i++)
{
    thumbLoader = new Loader();
    //assign a name that matches the target box name, with "Loader" on the end
    thumbLoader.name = "box" + i + "Loader";
    thumbLoader.load(new URLRequest(thumbArray[i]));
    thumbLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, onThumbLoaded);
}

function onThumbLoaded (e:Event):void
{
    var img:Bitmap = Bitmap(e.target.content);
    //slice the "Loader" off the name
    var loadName:String = e.target.name.slice(0,-6);
    MovieClip(mc.getChildByName(loadName)).addChild(img);
}