Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
(AS3)以数字/降序从XML加载缩略图_Xml_Actionscript 3_Gallery_Thumbnails_Loader - Fatal编程技术网

(AS3)以数字/降序从XML加载缩略图

(AS3)以数字/降序从XML加载缩略图,xml,actionscript-3,gallery,thumbnails,loader,Xml,Actionscript 3,Gallery,Thumbnails,Loader,自从我开始调试代码以使其正常工作以来,已经有两天了,而且它正在消耗我所有的时间,如果我不开始询问,我想我不会赶上最后期限 我不是专业人士,所以请对代码保持温和:D 画廊工作正常,它可以顺利加载缩略图而不返回任何错误。但是,缩略图并没有按预期加载,我认为这是因为最小的文件大小首先要加载。因此,如果缩略图[3]是最小的,它将自身附加到缩略图容器[0],它应该始终是缩略图[0]到缩略图容器[0],依此类推 这是我的密码: //THIS IS THE CONTAINER

自从我开始调试代码以使其正常工作以来,已经有两天了,而且它正在消耗我所有的时间,如果我不开始询问,我想我不会赶上最后期限

我不是专业人士,所以请对代码保持温和:D

画廊工作正常,它可以顺利加载缩略图而不返回任何错误。但是,缩略图并没有按预期加载,我认为这是因为最小的文件大小首先要加载。因此,如果缩略图[3]是最小的,它将自身附加到缩略图容器[0],它应该始终是缩略图[0]到缩略图容器[0],依此类推

这是我的密码:

        //THIS IS THE CONTAINER         
        for (var i:int = 0; i < thumbBatches[aj]; i++)
        {
            thumbX = 44.35 + (thumbWidth + 18) * i;
            var itemThumb:thumbH = new thumbH();
            itemThumb.x = thumbX;
            itemThumb.y = thumbY;
            itemThumb.name = "" + i + (8 * aj);
            itemThumb.addEventListener(MouseEvent.CLICK, openFullItem);
            level2.addChild(itemThumb);
            IthumbList[i + (8 * aj)] = itemThumb;
        }

        //THIS WILL LOAD THE THUMBNAILS
        for (var n:int = 0; n < potteryIDnum.length; n++)
        {
            var imgLoader:Loader = new Loader();
            imgLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadComplete);
            imgLoader.load(new URLRequest(potteryThumbs[n]));
        }

        // AFTER LOADING IT, IT'LL BE ASSIGNED TO AN ARRAY
       // THEN AFTER THE LAST IMAGE HAS BEEN LOADED WILL BE ATTACHED TO THE CONTAINER
        function loadComplete(e:Event):void
        {
            IthumbImages.push(e.target.content);
            if (IthumbList.length == IthumbImages.length)
            {
                for (var k:int = 0; k < IthumbImages.length; k++)
                {
                    var fadeInThumbs:Tween = new Tween(IthumbList[k],"alpha",Strong.easeInOut,0,1,0.3 * (k + 0.5),true);
                    IthumbList[k].addChild(IthumbImages[k]);
                }
            }
        }

提前谢谢

我想你的问题在于这条线

 IthumbList[i + (8 * aj)] = itemThumb;
什么是aj? 如果aj==1和i==1,那么数组的索引将为9 如果aj==2和i==1,那么数组的索引将为16


因此,oncomplete中的for循环应该会失败。

我已经回答了。然而,这是关于URLLoader类的

对于加载器类情况,应为:

    dynamic class DynamicLoader extends Loader{}
最后,修改后的代码:

    var remainingLoads:uint = potteryIDnum.length; 
    //THIS WILL LOAD THE THUMBNAILS
    for (var n:int = 0; n < potteryIDnum.length; n++)
    {
        var imgLoader:DynamicLoader = new DynamicLoader();
        imgLoader.index = n;
        imgLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadComplete);
        imgLoader.load(new URLRequest(potteryThumbs[n]));
    }

    // AFTER LOADING IT, IT'LL BE ASSIGNED TO AN ARRAY
    // THEN AFTER THE LAST IMAGE HAS BEEN LOADED WILL BE ATTACHED TO THE CONTAINER
    function loadComplete(e:Event):void
    {
        IthumbImages[ DynamicLoader(e.target.loader).index ] = e.target.content;
        if (--remainingLoads == 0)
        {
            for (var k:int = 0; k < IthumbImages.length; k++)
            {
                var fadeInThumbs:Tween = new Tween(IthumbList[k],"alpha",Strong.easeInOut,0,1,0.3 * (k + 0.5),true);
                IthumbList[k].addChild(IthumbImages[k]);
            }
        }
    }

aj=0,仅按batchrow递增。每批8个缩略图,因此如果aj==1,它将是第9个缩略图,这是正确的。如果我错过了索引,它将不会运行。我可以正确地跟踪每个缩略图的索引。并且它位于正确的位置,但是附加到它的bitmapjpg不在。正如我所提到的,要加载的第一个位图将位于[0]上,即使该缩略图的url来自[6]或任何其他数字。遗憾的是,它没有按预期工作。它不会加载所有缩略图,然后会返回一个空错误,即childon addchild不存在。IDK,如果我通过扩展loader类所做的是正确的。包com.dloader{import flash.display.Loader;公共动态类DynamicLoader extensed Loader{;公共函数DynamicLoader{super;}}}}}我不习惯类/外部。与现在一样。尝试调试IthumbImages[DynamicLoader.target.Loader.index]=e.target.content;部分,请参阅dynamicloader.target.loader.index和e.target.content值。