Actionscript 3 eventlistener不';不能执行它的功能

Actionscript 3 eventlistener不';不能执行它的功能,actionscript-3,image-gallery,Actionscript 3,Image Gallery,我需要在舞台上画些缩略图。它们有不同的宽度,我需要在加载后获得宽度。我使用了侦听器来查找宽度,但是侦听器应该调用的函数没有运行 为什么我的代码没有进入loadThumbs功能 function makeScroller():void { for (var item:uint = 0; item < 7; item++ ) { var thisOne:MovieClip = new MovieClip(); var blackBox:Sp

我需要在舞台上画些缩略图。它们有不同的宽度,我需要在加载后获得宽度。我使用了侦听器来查找宽度,但是侦听器应该调用的函数没有运行

为什么我的代码没有进入loadThumbs功能

function makeScroller():void

{

    for (var item:uint = 0; item < 7; item++ )

    {
        var thisOne:MovieClip = new MovieClip();
        var blackBox:Sprite = new Sprite();
        var thisThumb:Sprite = new Sprite();

        var imageLoader:Loader = new Loader();
        imageLoader.load(new URLRequest(thumbList[item]));
        imageLoader.contentLoaderInfo.addEventListener(Event.COMPLETE,loadThumbs);

        function loadThumbs (e:Event):void
        {
            blackBox.graphics.beginFill(0xFFFFFF);
            blackBox.graphics.drawRect(-1,-1,imageLoader.width,imageLoader.height);
            thisOne.addChild(blackBox);
            thisOne.blackBox = blackBox;
            thisOne.x = tsX;
            thisThumb.addChild(imageLoader);
            thisOne.addChild(thisThumb);
            tsX += imageLoader.width;
            scroller.addChild(thisOne);
        }
    }
}
函数makeScroller():void
{
对于(变量项:uint=0;项<7;项++)
{
var thisOne:MovieClip=新的MovieClip();
var blackBox:Sprite=新Sprite();
var thishumb:Sprite=新Sprite();
var imageLoader:Loader=new Loader();
加载(新的URL请求(拇指列表[项目]);
imageLoader.contentLoaderInfo.addEventListener(事件.COMPLETE,loadThumbs);
函数loadThumbs(e:事件):void
{
blackBox.graphics.beginll(0xFFFFFF);
blackBox.graphics.drawRect(-1,-1,imageLoader.width,imageLoader.height);
这个。addChild(黑盒);
thisOne.blackBox=黑盒;
这个。x=tsX;
thishumb.addChild(imageLoader);
这个。addChild(这个拇指);
tsX+=imageLoader.width;
scroller.addChild(这个);
}
}
}

我刚刚尝试了一个更简化的代码版本,没有任何问题,也许可以尝试以下方法:

注意:最佳实践是在调用load之前添加完整的侦听器

function makeScroller():void
{
    var imageLoader:Loader = new Loader();
    imageLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadedHandler);
    imageLoader.load(new URLRequest("http://images.imagecomics.com/c/2012/IMG120350.jpg"));


    function loadedHandler(e:Event):void
    {
        trace("loaded");
    }
}
makeScroller();

它是否运行makeScroller()?请首先尝试下面的示例,这就是我们不嵌套函数的原因。loadThumbs函数将始终引用thisOne、blackBox、thisThumb和imageLoader的最后一次迭代