2011-03-30 113 views
0

我正在使用XML載入圖片。現在,情況是圖像僅加載到XML中的最後一個條目。 cv是一個彈出窗口,其中包含一個名爲cHolder的持有者和一個名爲ct的文本字段。圖像將被加載到cHolder上。如何解決這個問題,以便將圖像加載到所有cHolder上?AS3正在載入多張圖片

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); 
    } 

回答

1

你需要使用一個單獨的裝載機對象爲每個圖像。事情是這樣的:

for each (var projectName:XML in projectAttributes) { 
    ... 
    imageLoader = new Loader(); 
    imageLoader.load(new URLRequest(projectDP)); 
    ... 
} 

希望幫助!

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 
} 

你可以使用數組等存儲引用等