2013-03-20 2 views
0

У меня, кажется, проблема, загружаемая несколькими изображениями в цикл FOR.FLEX - Добавление нескольких изображений в цикл FOR

Это мой код:

Я читаю файл XML, чтобы получить расположение миниатюр, мне нужно добавить. Затем я просматриваю весь список (теперь я просматриваю первые 5 элементов) и добавляю их в свою TileGroup с именем «popUpImgGroup».

По какой-то причине я получаю только 1 видимый большой палец, но на самом деле есть 5 элементов.

Любая идея?

Спасибо! :)

private function loadPopUpThumbs():void{ 
      for(var i:int=1; i<=5; i++){ 
       var thumbImg:Image = new Image(); 
       var _loader:Loader = new Loader(); 

       _loader.contentLoaderInfo.addEventListener(Event.COMPLETE,function(e:Event):void{ 
        thumbImg.source = e.currentTarget.content; 
       }); 
       _loader.load(new URLRequest(encodeURI(popUpXMLList.(attribute('nr')==i.toString())[email protected]))); 

       popUpImgGroup.addElement(thumbImg); 

       thumbImg.width = 90; 
       thumbImg.height = 90; 
       thumbImg.scaleMode = "letterbox"; 
       thumbImg.verticalAlign = "bottom"; 
       thumbImg.smooth = true; 
       thumbImg.addEventListener(MouseEvent.CLICK, function(evt:MouseEvent){ popUpThumbClicked(popUpXMLList.(attribute('nr')==i.toString())[email protected])}); 

       trace("Thumb added: " + popUpXMLList.(attribute('nr')==i.toString())[email protected]); 
      } 
     } 
+0

Вы видите последний палец или первый? Вы не даете thumbImg позицию x или y. Все ли большие пальцы отображаются друг на друга? В большинстве случаев; вы не хотите добавлять изображения, подобные этому, поскольку каждое добавленное изображение будет визуализировано. В больших количествах в приложении будет заметное замедление. Гораздо лучше использовать класс на основе списка, который будет отображать только отображаемые элементы; а не все в списке. – JeffryHouser

+0

Они добавляются в TileGroup, которая автоматически позиционирует их в сетке. Я вижу второе изображение, на месте, где должно быть пятое. Что мне нужно сделать, это загрузить миниатюры (вот что я пытаюсь сделать здесь). Полный res будет загружен позже, когда пользователь нажимает на них. –

+0

Все, что мне нужно, это загрузить несколько больших пальцев из xml-файла (эта часть работает) и отобразить их в этом списке. При нажатии на большие пальцы также необходимо включить функцию. EDIT: Хмм, теперь я вижу первое изображение на миниатюре, но последнее изображение на fullRes Любой другой способ сделать это тоже будет приятным :) Пока это работает и выглядит чистым. –

ответ

1

Найдено ответ -.-

Я ненавижу его, когда я борюсь с решением, и разместить вопрос здесь только, чтобы понять это сразу после. Извините, что беспокою вас, ребята =) Вот что я делал:

  private function loadPopUpThumbs():void{ 
      if(curThumbImg <= totThumbImg){ 
       var thumbImg:Image = new Image(); 
       var _loader:Loader = new Loader(); 
       var imageNr:int = curThumbImg; 

       _loader.contentLoaderInfo.addEventListener(Event.COMPLETE,function(e:Event):void{ 
        thumbImg.source = e.currentTarget.content; 

        popUpImgGroup.addElement(thumbImg); 

        thumbImg.width = 90; 
        thumbImg.height = 90; 
        thumbImg.scaleMode = "letterbox"; 
        thumbImg.verticalAlign = "bottom"; 
        thumbImg.smooth = true; 
        thumbImg.id = "thumbImg" + imageNr; 
        thumbImg.addEventListener(MouseEvent.CLICK, function(evt:MouseEvent):void{ popUpThumbClicked(popUpXMLList.(attribute('nr')==imageNr.toString())[email protected])}); 

        trace("Thumb added: " + popUpXMLList.(attribute('nr')==imageNr.toString())[email protected]); 
        curThumbImg++; 
        loadPopUpThumbs(); 
       }); 

       _loader.load(new URLRequest(encodeURI(popUpXMLList.(attribute('nr')==imageNr.toString())[email protected]))); 

      }else{ 
       trace("DONE Adding thubs!!!"); 
      } 
     } 
Смежные вопросы