我正在使用XML加载图片。现在,情况是图像仅加载到XML中的最后一个条目。 cv是一个弹出窗口,其中包含一个名为cHolder的持有者和一个名为ct的文本字段。图像将加载到cHolder上。如何解决这个问题,以便将图像加载到所有cHolder上?
for each (var projectName:XML in projectAttributes)
{
//trace(projectName);
var projectDP:XMLList = projectInput.project.(@name == projectName).displayP;
trace(projectDP);
var cv:MovieClip = new cView();
catNo += 1;
if(catNo % 5 == 0)
{
catY += 137;
catX = -170;
cv.x = catX;
cv.y = catY;
}
else
{
cv.x = catX;
cv.y = catY;
catX += 112;
}
imageLoader.load(new URLRequest(projectDP));
cv.cHolder.addChild(imageLoader);
cv.ct.text = projectName;
cv.buttonMode = true;
this.addChild(cv);
}
答案 0 :(得分:1)
您需要为每个图像使用单独的加载器对象。像这样:
for each (var projectName:XML in projectAttributes) {
...
imageLoader = new Loader();
imageLoader.load(new URLRequest(projectDP));
...
}
希望有所帮助!
答案 1 :(得分:0)
我强烈推荐LoaderMax(http://www.greensock.com/loadermax/)它非常适合装载多件物品。
样本将是:
var queue:LoaderMax = new LoaderMax({onComplete:onComplete});
queue.append(new ImageLoader("img/photo1.jpg", {name:"photo1"}));
queue.append(new ImageLoader("img/photo2.jpg", {name:"photo2"}));
queue.append(new ImageLoader("img/photo3.jpg", {name:"photo3"}));
queue.append(new ImageLoader("img/photo4.jpg", {name:"photo4"}));
queue.load();
function onComplete() {
trace("All done");
cv.cHolder.addChild(queue.getContent("myPhoto1")); // etc
}
您可以使用数组等来存储引用等。