2014-01-03 4 views
0

Im, используя XML-файл для хранения информации о наборах данных, код должен загружать 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] = [email protected][i]; 

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

ответ

1

Вы можете сделать это несколькими различными способами в зависимости от того, как вы хотите отображать изображения при загрузке. Первый/Самый простой способ - создать новый загрузчик изображений для каждого изображения внутри цикла for, а не переписывать его каждый раз. Второй способ - загрузить по одному (без цикла), а при полной загрузке взять растровые данные и создать новую растровую карту, отобразить это новое растровое изображение на экране, а затем загрузить следующее изображение с помощью одного и того же загрузчика.

 Смежные вопросы

  • Нет связанных вопросов^_^