|
|
|||||
проблема с загрузкой
Добрый день, у меня возникла проблема:
создаю массив с юрликами на картинки которые надо загрузить в swf ку, а потом эти юрлики отправляю на загрузку, но почемуто первые 20 не грузятся, а оставшиеся 30 отлично грузятся, с чем это может быть связано, если по отдельности грузить то все нормально. |
|
|||||
Покажите как грузите
__________________
Работаю |
|
|||||
for (var d:Number=0; d<arrWork.length; d++) { var Pic1:LoadedPic=new LoadedPic(arrWork[d]); arrPicq[d]=Pic1; } package load { import flash.display.Loader; import flash.display.Sprite; import flash.events.Event; import flash.events.IOErrorEvent; import flash.events.ProgressEvent; import flash.net.*; public class LoadedPic extends Sprite { public var all:Number=0; public var loadNum:Number=0; public var arrPic:Array=new Array(); public var allComplite:Boolean=false; public var pic:Sprite; public var URL:String; public function LoadedPic(url:String) { //URL=url; var imageLoader:Loader = new Loader(); var theURL:String = url; var imageRequest:URLRequest = new URLRequest(url); imageLoader.contentLoaderInfo.addEventListener(Event.COMPLETE,onComplite); imageLoader.contentLoaderInfo.addEventListener(Event.INIT, Init); imageLoader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, progress); imageLoader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, tryAgane); imageLoader.load(imageRequest); function onComplite(event:Event):void { addChild(imageLoader.content); allComplite=true; } function Init(event:Event):void { all=event.target.bytesTotal; trace (all+' '+url) } function progress(event:ProgressEvent):void { loadNum=event.target.bytesLoaded; } function tryAgane():void { trace ("tryAgane") } } } } |
|
|||||
для начала вложенные функции вынесите а
Добавлено через 3 минуты И кстати, загрузка - штука асинхронная, я бы ждал комплита от предыдущего и начинал грузить следующий. Попробуйте так, последовательность - никому не повредит.
__________________
Работаю |
|
|||||
но из-за последовательной загрузки время же сильно тормозится, всмысле увеличивается
|
|
|||||
вас 2 секунды сильно спасет?
__________________
Работаю |
|
|||||
после того как функции вынес, все стало работать, спасибо большое)))
|
|
|||||
Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
|
В последовательной загрузке никакого выигрыша нет.
Заводим переменную totalLoading, которая равна 0 в начале, потом увеличиваем ее на один при каждом старте загрузки и вычитаем по одному при каждом комплите загрузки. Если она стала равно нулю (в функции обработки комплита) - все загрузки закончились. У меня так в некоторых приложениях по 20 файлов параллельно грузится и ничего. А вот обработчики действительно надо выносить в отдельные функции. Последний раз редактировалось mikhailk; 14.03.2010 в 10:44. |
Часовой пояс GMT +4, время: 10:27. |
|
« Предыдущая тема | Следующая тема » |
|
|