![]() |
вот и не думала, что прелоадер для нескольких файлов настолько сложен. Странно, что флеш неприспособлен для такой задачи.
|
Причем тут флеш?
|
ну как я думала - запускаешь загрузку файлов, ставишь прелоадер и нет проблем.
|
Жизнь прекрасна? :)
Для создания общего прелоадера флеш должен знать общий размер файлов. Для этого он должен получит первоначальный ответ на запрос к серверу, без этого не куда. Но все запросы проходят через браузер, которые регулирует число одновременных потоков загрузки. И таких потоков может быть у каждого браузеру разное. Я вот знаю про IE, у него их два. То есть, когда вы собираетесь загрузить 40 картинок и делаете одновременный запрос ко всем, с надеждой подсчитать общий размер, на самом дела к серверу уходит только два запроса и пока вы не получите первых две картинки, остальные запросы будут стоять в очереди. |
Общий размер файлов я передаю из php через переменные. Через
Код:
mclListener.onLoadProgress = function(target_mc, loadedBytes, totalBytes) |
Я общего кода не вижу.
|
Код:
var btTotal:Number = _root.fs; //общий размер |
Кто-нубуть проверял этот скрипт в действии? Потому что мне кажется, что
в представленом коде функция displayGallery() использует один загрузчик "mcLoader_mcl" для всех картинок одновременно. |
картинки грузятся нормально, вот только непонятно откуда берется еще 300-400 к, а то как-то непонятно, когда прелоадер показывает, что загружено 137 или 154%. Причем так происходит только в броузере, во флеше ничего лишнего не грузится.
|
Эсли учесть слова iNilsа про потоки загрузки, то интересно, получится ли такой вариант:
Считать все ссылки на картинки в переменную-массив (например linksArray). Начать загрузку первой картинки через mcLoader_mcl, а когда наступит событие onLoadStart, считать значение picture.getBytesTotal() и доплюсовать его к переменной в которой хранится общий размер файлов (_root.total) , а потом оборвать загрузку с помощью unloadClip, и начать загрузку следущей картинки через тот же mcLoader_mcl и т. д., пока не считаются все размера файлов. После таких операций в переменной _root.total должен находится размер всех картинок. И можно приступать к нормальной загрузке картинок... Не слишком ли глупая идея? Хотелось бы узнать мнение опытных флешеров. |
| Часовой пояс GMT +4, время: 12:05. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.