我使用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);
};
}
答案 0 :(得分:1)
您可以通过几种不同的方式执行此操作,具体取决于您在加载时如何显示图像。第一种/最简单的方法是为for循环内的每个图像创建一个新的图像加载器,而不是每次都覆盖它。第二种方法是一次加载一个(无循环),并在加载完成后获取位图数据并创建一个新的位图,在屏幕上显示新的位图,然后使用相同的加载器加载下一个图像。