【问题标题】:Load images from XML file only writing last file loaded to screen从 XML 文件加载图像,仅写入加载到屏幕的最后一个文件
【发布时间】:2014-01-21 10:39:57
【问题描述】:

我使用 XML 文件来存储有关数据集的信息,代码需要加载 XML 文件,遍历根节点的子集,然后使用收集到的信息来加载多个图像文件。

我已经加载了一张图片,但它始终是集合中的最后一张。 跟踪 loadPath 似乎有效,因为它显示了 2 个单独且正确的路径

大概每次循环运行时都会覆盖 imgLoader,那么我将如何将当前实例写入舞台然后移动到另一个?我是不是有点粗心大意了?

var thumbPath : String = "data/images/pre/thumbs/";
var loadPath : String;

xmlLoader.load(new URLRequest("data.xml"));

xmlLoader.addEventListener(Event.COMPLETE, processXML);
function processXML(e:Event):void {
    myXML = new XML(e.target.data);

    var dbLength:uint = myXML.SECTION[0].DOCUMENT.length();

    // For loop collects info
    for (var i:int = 0; i < dbLength; i++){
        mcArray[i] = myXML.SECTION.DOCUMENT.@TITLE[i];

    };
    for each (var value:String in mcArray) {
            loadPath = thumbPath + value + ".png";
            // trace(loadPath);
            imgLoader.load(new URLRequest(loadPath));
                this.addChild(imgLoader);
    };
} 

【问题讨论】:

    标签: xml actionscript-3 for-loop addchild


    【解决方案1】:

    您可以通过几种不同的方式执行此操作,具体取决于您希望在加载图像时如何显示它们。第一种/最简单的方法是为 for 循环中的每个图像创建一个新的图像加载器,而不是每次都覆盖它。第二种方法是一次加载一个(无循环),加载完成时获取位图数据并创建一个新位图,在屏幕上显示该新位图,然后使用相同的加载器加载下一个图像。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-05-19
      • 2023-04-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多