PDA

Просмотр полной версии : getBytesTotal показывает больше чем есть...


cherd
19.01.2009, 00:20
Объём мувика 86Кб, getBytesTotal выдаёт 370КБ
Собственно, ничего особого не выдумано всё тривиально, а работает как то странно 0_о

Вот листинг первого кадра прелоадера.

Total = _root.getBytesTotal();
TotalDownload.text = Total + " Байт";
Load = _root.getBytesLoaded();
NowDownload.text = Load + " Байт";
Percent = int(Load / Total * 100);
PercentDownload.text = Percent + "%";
ClipPreloader.gotoAndStop(Percent);

На всех муви клипах, что расположены после прелоадера в свойствах снята галка "Export the first frame" что б прелоадер грузился нормально.

Может кто-нибудь скажет почему _root.getBytesTotal() возвращает 370 КБ вместо реальных 86кб ?

iNils
19.01.2009, 00:30
getBytesTotal () возвращает размер несжатого swf. Это баг.

cherd
19.01.2009, 00:32
нашёл почему SWF 86 кб а в прелоадере 370 пишет.
при компиляции стоит галка сжатия клипа. когда галку убираю клип весит 370кб.

getBytesTotal () возвращает размер несжатого swf. Это баг.

да спасибо, а можно как-нибудь сделать что бы прелоадер считал реальный объём?
не прибегая к делительным коэффициентам полученных цифр, желательно =)

etc
19.01.2009, 01:31
getBytesTotal () возвращает размер несжатого swf. Это баг.
Ну не совсем баг, просто это уходит в глубины формата swf и прочего.

iNils
19.01.2009, 01:32
Нет. И коэффициент не поможет, так как данные сжимаются нелинейно, поэтому getBytesLoaded будет также возвращать не то, сколько загрузилось, а сколько это в расжатом виде. Лучше задайте себе вопрос, нужно ли вам выводить байты, а не проценты?

Добавлено через 1 час 2 минуты
Ну не совсем баг, просто это уходит в глубины формата swf и прочего.Чего прочего? JPEG нормально показывает или тоже сколько в памяти занимает? MovieClipLoader написали в 7-флеше, и не глючит. Значит могут, но не хотят.

cherd
19.01.2009, 11:51
Убрал байты, оставил проценты и мувик из 100 кадров - прогресс бар =)
спс за разъяснение возникшей проблемы =)