PDA

Просмотр полной версии : Строка загрузки


Reon
27.10.2006, 13:05
Доброго времени суток, написал прелоадер для своей флешки, локально все круто, прелоадер отображает загрузку сцены, мувики подгружаються и тоже прелоадер это отображает, проблемма возникает,когда я все это дело пишу на СД, все подгржаеться, но ни один прелоадер не отображает ход загрузки =(
Примерный код основного прелоадера:

onClipEvent(load){
gbt=_root.getBytesTotal;
}
onClipEvent(enterFrame){
gbl=_root.getBytesLoaded;
this.progress_bar._xscale=(gbl/gbt*100);
if(gbl==gbt){
_root.play();
deleteMovieClip(this);
}
}

Как я уже говорил, на компе все пашет, а с любого съемного носителя уже нет =( Как исправить положение? Заранее с благодарностью :)

etc
27.10.2006, 13:16
А, что у тебя настолько много данных, что процесс загрузки успевает отобразиться? Или в чём проблема?
Данные не грузятся? В пути к файлам не должно быть русских символов.

Reon
27.10.2006, 13:29
А, что у тебя настолько много данных, что процесс загрузки успевает отобразиться? Или в чём проблема?
Данные не грузятся? В пути к файлам не должно быть русских символов.
Успевает, еще как, но когда пишу на сд строка не ползет, просто тупо стоит с параметром _xscale=100; ну т.е. типа уже загрузился хотя по всему видно, что процесс згрузки идет... свфки подгружаються-не вопрос, но опять же индикации нет... насчет путей в курсе =) анимированный прелодер делать неохота, да и толку от этого скорее всего не будет...
еще вопросик в догонку, скорость чтения данных с СД х52=150kbps*52,так ли это?

wvxvw
27.10.2006, 15:10
в мануале написано, что файлы загружаемые с юзерского компьютера (не через Интернет) загружаются как бы одним пакетом. Т.е. способы мониторинга используемые для обычной загрузки не подходят. У тебя getBytesLoaded() и getByresTotal() всегда будут одинаковые.

etc
27.10.2006, 15:15
в мануале написано, что файлы загружаемые с юзерского компьютера (не через Интернет) загружаются как бы одним пакетом.
Гм, вообще-то у меня даже с локального диска отслеживал загрузку.

Reon, такую скорость крайне редко развивает.

Reon
27.10.2006, 15:17
в мануале написано, что файлы загружаемые с юзерского компьютера (не через Интернет) загружаются как бы одним пакетом. Т.е. способы мониторинга используемые для обычной загрузки не подходят. У тебя getBytesLoaded() и getByresTotal() всегда будут одинаковые.
=) это очень интиресно, но строка загрузки работает... после того как я делаю проект для ПС и пишу все на СД она не пашет... где логика? обращение к харду и к СД являються локальными, в таком случае ни в первом, ни во втором варианте я не должен видить как строка загрузки движиться к победному финишу... В параметрах публикации указал "только локальный доступ".
Оч. все это странно... ;)

Reon
27.10.2006, 15:20
Reon, такую скорость крайне редко развивает.
Насчет скорости я понимаю, по этому пытаюсь ее занижать... в принципе с этим проблемм нет, проверял на "среднем" ноутбуке, вроде даже оч. ничего =)

wvxvw
27.10.2006, 15:45
хм... странно, сейчас вот стал искать где ж это было написано, чет никак не найду %) мб показалось %) Хотя... мне все равно это кажется нелогичным. Если бы процесс загрузки с диска был бы идентичен в этом отношении с загрузкой через ХТТП, то зачем бы вообще нужно было бы эмулировать загрузку в среде разработки?

Reon
27.10.2006, 16:00
хм... странно, сейчас вот стал искать где ж это было написано, чет никак не найду %) мб показалось %) Хотя... мне все равно это кажется нелогичным. Если бы процесс загрузки с диска был бы идентичен в этом отношении с загрузкой через ХТТП, то зачем бы вообще нужно было бы эмулировать загрузку в среде разработки?
Насамом деле все очень просто, создаеться презентация... пишеться на диск и с диска смотриться, а вот здесь как раз и важна скорость чтения сдиска, можно ее проассоциировать с загрузкой из сети, соответственно с несколько большей скоростью. Эмуляция загрузки нужна, я бы еще предложил разработчикам добавить эуляцию понижения производительности машины-это было бы совсм круто, так так работая на мощной машине можно не учесть нюансы...:drinks:

wvxvw
27.10.2006, 16:18
смотри... я все-тки думаю, что это потому, что getBytesLoaded() и getByresTotal() одинаковые. Попробуй отслеживать framesTotal/framesLoaded или еще что-нть в этом духе...

etc
27.10.2006, 16:23
wvxvw, скорости считывания с диска много больше скорости сети. Но и эта скорость конечна.

wvxvw
27.10.2006, 17:17
2 __etc:
нет, вот жаль, не могу найти это место. Смысл был не в том, что скорость не изменяется, а в том, что, возможно (опять же, точно не помню) getBytesLoaded() привязано к пакетам, а с диска грузится все, как если бы оно грузилось через канал, т.е. одним куском. Соответсвенно проверка вызывается не по таймеру, а по какому-то дискретному событию внутри загрузки (например, пришел очередной пакет), но вот это самое дискретное событие не происходит в случае загрузки с диска.

Reon
27.10.2006, 17:58
смотри... я все-тки думаю, что это потому, что getBytesLoaded() и getByresTotal() одинаковые. Попробуй отслеживать framesTotal/framesLoaded или еще что-нть в этом духе...
ок, стот попробовать через _totalframes & _framesloaded; Чем черт не шутит ;)

pkfun
27.10.2006, 18:08
Трейсами проверьте равны они или нет.

Reon
27.10.2006, 18:51
Трейсами проверьте равны они или нет.
на компе все гуд, а вот с диска трабл =(

wvxvw
27.10.2006, 19:15
2 Reon:
=) именно их я и имел в виду, апшипся =)

Reon
28.10.2006, 13:36
смотри... я все-тки думаю, что это потому, что getBytesLoaded() и getByresTotal() одинаковые. Попробуй отслеживать framesTotal/framesLoaded или еще что-нть в этом духе...
попробовал, но толку нет =( локально все трейситься олично...

wvxvw
28.10.2006, 17:05
ну тогда ничего другого в голову не приходит кроме как setInterval'ом проверять наличие специально расставленных в подгружаемом клипе переменных...