PDA

Просмотр полной версии : getBytesLoaded


antares_by
26.08.2004, 01:12
Programma dolzhna sozdavat dynami4esky movie clipy i podgruzhat' v nih jpg-risunki. Klip dolzhen sozdavat'sa, dozhdatsa, poka zagruzitsa risunok i potom davat' zapuskatsa novomu. Odnako on po4emu-to ne dozhidaetsa etogo i poluchaetsa, 4to novye movie-clipy ne u4ityvayut razmerov kartinok i nakladyvayutsa odin za odnim (to est' dumaja, 4to razmery proshlogo movie clipa 0x0, oni vysraivayutsa v rad, a kartinki, zagruzhajas, nakladyvayutsa). V itoge cidim:

http://brest-ksm.com/wf3.swf - ljuboi razdel v levom menju


Privozhu kod funkzii. Vidno problema v GetBytesTotal ili GetBytesLoaded. Pomogite reshit' problemu.


Trace:
4 ||| 4
4 ||| 4
4 ||| 4
4 ||| 4
4 ||| 4
1188 ||| 1188
1
1828 ||| 1828
1
1863 ||| 1863
1
1717 ||| 1717
1
1682 ||| 1682
1


Path: _root.moveNavigation.moveTilesBar.moveTilesArray.btSelect.imgSmall

// moveTilesArray (1)
function AddTileToList(CallContext, CallFunc, Type, Attributes){
btSelect._visible = false;
btSelect.duplicateMovieClip("arrBtTiles" add TilesCount , TilesCount + 2);
arrBtTiles[TilesCount] = Eval("arrBtTiles" add TilesCount );
loadMovie(Attributes.ImagePathSmall, arrBtTiles[TilesCount].imgSmall);
_global.IsLoaded ++; //При начале загрузки изображения
arrBtTiles[TilesCount].gotoAndPlay(3);
TilesCount++;
}


// btSelect (1)
stop();

// btSelect (2)
trace(imgSmall.getBytesLoaded() + " ||| "+ imgSmall.getBytesTotal());
if ((imgSmall.getBytesLoaded()>=imgSmall.getBytesTotal()) && (imgSmall.getBytesTotal()>50)){
trace("1");
_global.IsLoaded --; //При окончании загрузки изображения, если IsLoaded==0,
stop(); //значит все загрузили, и можно давать управление пользователю
} //Вся проблема в том, что на самом то деле, почти ничего не загрузили.

// btSelect (3)
GotoAndPlay(2);


PS: sory za translit

Ріxеl
26.08.2004, 02:28
проблема происходит потому, что размеры рисунка ещё не загружены, тоесть оно думает, что ширина, высота и размер == 0

чтобы избавится, нужно проверять больше ли GetBytesTotal нуля.

antares_by
26.08.2004, 11:06
if ((imgSmall.getBytesLoaded()>=imgSmall.getBytesTotal()) && (imgSmall.getBytesTotal()>50))

Так вот сдесь я с 50 даже сравниваю. И trace-то меняется. То есть getBytesLoad сравниваться должен, когда уже загружено. Или как?

Ріxеl
26.08.2004, 13:22
значить, попробуй проверять ширину, высоту. А вообще они загружаются, только не успевают обработаться(наверно). Я взял один из разделов - всё наложилось. Другой - всё уже было нормально. Поэтому проблема в том, когда ты розставляеш эти текстуры.

Звини, я тогда в проблемы не вникся...

antares_by
26.08.2004, 15:20
Дело в том, что расстановка мувиков должна учитывать размеры прошлого мувика. По идее он должен (написанный скрипт) дожидаться загрузки рисунка и только потом переходить к обработке и созданию слудующего мувика (когда будет знать параметры загруженного рисунка). А он не дожидается и все расставляет сразу, потом подгружая картинки.

antares_by
26.08.2004, 18:28
Вообщем, я внес изменения - все работает! Спасибо за советы!