2009-09-30 3 views
0

У меня есть класс галереи изображений, который загружает эскизы и полные изображения один за другим в цикле. Затем я толкаю в массив и создаю один мувиклип с каждым растровым изображением. Он работает хорошо.as3 - Предварительная загрузка XML-галереи изображений

В этой части процесса я могу предварительно загрузить все изображения, прежде чем отобразить всю галерею?

Thanx!

+0

Вы можете оставить текущий код? Это может помочь нам дать ответ. – jessegavin

ответ

1

Лично я большой поклонник удивительной BulkLoader библиотеки:

  • Это невероятно гибкий
  • Это обеспечивает полезные хелперы для доступа нагруженных активов (например, getBitmap («ASSET_ID») возвращает типизированный объект)
  • Он дает значимую обратную связь о прогрессе (значения могут быть возвращены, чтобы отражать прогресс по общему «весу» в отличие от необработанного значения от отдельных файлов, которые могут существенно различаться по размеру)
  • Он обрабатывает одновременную загрузку (whi ch, очевидно, быстрее, чем загрузка в последовательности).

В качестве альтернативы, если вы хотите опрокинуть свое собственное решение, по мере прохождения цикла, добавьте прослушиватель событий в уведомление

Event.COMPLETE
. В обработчике этого события увеличивайте счетчик; как только этот счетчик будет равен количеству элементов, которые вы загрузили, все ваши активы.

Псевдо-код:

var loadCounter:int = 0; 

var img_arr:Array = [ 
    "img1_thumb.jpg", "img1.jpg", 
    "img2_thumb.jpg", "img2.jpg", 
    ... 
]; 
var image_num:int = img_arr.length; 

var ldr:Loader; 
var req:URLRequest; 
var path:String; 
var i:int = 0; 
for(; i < image_num; i++) 
{ 
    path = "http://myserver.com/images/" + img_arr[i]; 
    req = new URLRequest(path); 
    ldr = new Loader(); 
    ldr.contentLoaderInfo.addEventListener(Event.COMPLETE, _onLoadComplete); 
    ldr.load(req); 
} 

private function _onLoadComplete(event:Event):void 
{ 
    if(++loadCounter == image_num) 
    { 
     // do whatever you need to your loaded assets 
    } 
} 
Смежные вопросы