Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript (http://www.flasher.ru/forum/forumdisplay.php?f=5)
-   -   getBytesLoaded (http://www.flasher.ru/forum/showthread.php?t=62373)

antares_by 26.08.2004 01:12

getBytesLoaded
 
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

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


Часовой пояс GMT +4, время: 00:54.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.