![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
а если сделать вот как
например есть массив var arr1 = new Array() for(var i=0; i<10;i++) { var arr2 = new Array(); arr2.src =" 0"+i+".jpg" arr2.title = " картинко :"+i arr2.loadBite = "0" arr2.totalByte = undefined arr1[i] = arr2 } // потом передать этот массив лоадеру var mayLoader = new Loader(arr1) // в лоадере запустить прогон и записывать в arr1[i].loadBite и arr1[i].totalByte var TOTALkb var LOADbkb for (var k=0; k< arr1.length; k++) { loader.newcount = k loader.load(arr1[k][src]); loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS,updatePreloader) } function updatePreloader(evt:ProgressEvent):void { var a:int = (evt.bytesLoaded)/1024; var b:int = evt.bytesTotal / 1024; arr1[evt.target.newcount][loadBite] = a arr2[evt.target.newcount][totalByte] = b for (var c=0; c<arr1.length; c++) { LOADkb:int + = arr1[c][loadBite] TOTALkb:int += arr1[c][totalByte] } trace(LOADkb+ "из"+ TOTALkb) } |
|
|||||
|
Выдаст ошибку в этой строке - объект Loader вызывается без аргументов. А потом будет ругаться на переменную loader, т.к. она не была объявлена ранее...
Последний раз редактировалось fish_r; 05.04.2011 в 09:29. |
|
|||||
|
как тогда передать индекс массива в обработчик события?
|
|
|||||
|
Вот пример класса из хелпа адоба:
package { import flash.display.Loader; import flash.display.Sprite; import flash.events.*; import flash.net.URLRequest; public class LoaderExample extends Sprite { private var url:String = "Image.gif"; public function LoaderExample() { var loader:Loader = new Loader(); configureListeners(loader.contentLoaderInfo); loader.addEventListener(MouseEvent.CLICK, clickHandler); var request:URLRequest = new URLRequest(url); loader.load(request); addChild(loader); } private function configureListeners(dispatcher:IEventDispatcher):void { dispatcher.addEventListener(Event.COMPLETE, completeHandler); dispatcher.addEventListener(HTTPStatusEvent.HTTP_STATUS, httpStatusHandler); dispatcher.addEventListener(Event.INIT, initHandler); dispatcher.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler); dispatcher.addEventListener(Event.OPEN, openHandler); dispatcher.addEventListener(ProgressEvent.PROGRESS, progressHandler); dispatcher.addEventListener(Event.UNLOAD, unLoadHandler); } private function completeHandler(event:Event):void { trace("completeHandler: " + event); } private function httpStatusHandler(event:HTTPStatusEvent):void { trace("httpStatusHandler: " + event); } private function initHandler(event:Event):void { trace("initHandler: " + event); } private function ioErrorHandler(event:IOErrorEvent):void { trace("ioErrorHandler: " + event); } private function openHandler(event:Event):void { trace("openHandler: " + event); } private function progressHandler(event:ProgressEvent):void { trace("progressHandler: bytesLoaded=" + event.bytesLoaded + " bytesTotal=" + event.bytesTotal); } private function unLoadHandler(event:Event):void { trace("unLoadHandler: " + event); } private function clickHandler(event:MouseEvent):void { trace("clickHandler: " + event); var loader:Loader = Loader(event.target); loader.unload(); } } } ). Во внешнем классе на её свойство contentLoaderInfo повесте слушатель, метод указанный в котором будет суммировать поступающую информацию от всех таких классов. Вот и всё.Последний раз редактировалось fish_r; 05.04.2011 в 09:45. |
|
|||||
|
о.О
спс |
|
|||||
|
Идея - разделить прелоадер на кол-во файлов. Каждый кусочек будет показывать процент загруженности файла. Но при последовательной загрузке получится равномерно.
function progressHandler(loaded:Number, total:Number):void { progressBar.value = ((_loadedFiles + loaded / total) / _filesCount) * 100; } При параллельной загрузке другой алгоритм.
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку. |
|
|||||
|
Регистрация: Dec 2008
Адрес: Одесса
Сообщений: 129
|
гугл bulkloader, сам пользуюсь, отличная вещь. можно задать приоритеты и кучу всего.
|
|
|||||
|
ок, спс - я пошел по пути майкрософт
тоесть делаю 2 полоски на одной процент из кол-ва загруженных файлов по отношению к всем из списка а на второй прогресс текущей загрузки |
|
|||||
|
Modus ponens
|
А в чем смысл загружать много отдельных файлов с одного вашего сайта? Я бы мог понять, если сайты разные. А так - сложить все в архив / скомпилировать в SWF, и одним файлом скачивать - проблема отпадет сама собой.
__________________
Hell is the possibility of sanity |
![]() |
![]() |
Часовой пояс GMT +4, время: 13:52. |
|
|
« Предыдущая тема | Следующая тема » |
|
|