PDA

Просмотр полной версии : Странно работает функция getBytesTotal(). И немного о подзагрузке картинок


Stas52
23.06.2008, 00:18
Подскажите пожалуйста, что у меня не так?
Задача в следующем. Уже есть 4 мувика. При нажатии на кнопку в них подгружаются JPG файлы.

_root.pnr_1.loadMovie( "test_1.jpg" );
_root.pnr_2.loadMovie( "test_2.jpg" );
_root.pnr_3.loadMovie( "test_3.jpg" );
_root.pnr_4.loadMovie( "test_4.jpg" );

Нужно сделать так, чтобы они показались все в один момент, а не по мере загрузки. Когда я в Enter Frame ставлю такую строку чтобы узнать общий размер файлов

trace( _root.pnr_1.getBytesTotal() + _root.pnr_2.getBytesTotal() + _root.pnr_3.getBytesTotal() + _root.pnr_4.getBytesTotal() );

получаю примерно такой результат

48
-2
225763
387796
387796
387796
387796

Почему такая ерунда?
Помогите пожалуйста, как проверить, загружены ли все файлы, и если да, то покозать их.

iNils
23.06.2008, 00:54
Заведите счетчик, и используя класс MovieClipLoader для загрузки, по мере срабатывания событие onLoadComplete инкрементируйте счетчик.

Stas52
23.06.2008, 02:48
Вот до чего я пока докопался. Этот код отлично работает, когда он находится во фрейме на TimeLine. Но мне надо перенести его на MovieClip. Как только я туда его переношу - не работает. И как я только не пробовал. Хелп !

var mcl:MovieClipLoader = new MovieClipLoader();
var lst:Object = new Object();
mcl.addListener(lst);

lst.onLoadComplete = function(target_mc:MovieClip) {
trace("Загрузка закончена");
};

_root.mcl.loadClip("test.jpg", _root.mc_sts);

iNils
23.06.2008, 03:01
Не надо писать код на клипах, это устаревшая методика.

Stas52
23.06.2008, 13:51
Я уже знаю, что это устаревшая методика, но у меня уже весь проект написан таким образом. Переделывать - займет очень много времени.
Если можете, подскажите пожалуйста.