PDA

Просмотр полной версии : preloader - помогите найти ощибку


CEBEP
24.05.2008, 00:07
function mClick(event:MouseEvent):void
{

pageReq = new URLRequest("myPage.swf");
pageLoader.load(pageReq);
pageLoader.contentLoaderInfo.addEventListener(Event.INIT, pageInit);
}

function pageInit(event:Event):void
{
addEventListener(Event.ENTER_FRAME, startPreLoader);

loaderBar = new pagePreLoader();
addChild(loaderBar);
loaderBar.stop();
loaderBar.x = 420;
loaderBar.y = 250;
}


function startPreLoader(event:Event):void
{

var bytes_total:Number = pageLoader.contentLoaderInfo.bytesTotal;
var bytes_loaded:Number = pageLoader.contentLoaderInfo.bytesLoaded;
var percent:Number = Math.round(bytes_loaded * 100/bytes_total);

loaderBar.gotoAndPlay(percent);

if (bytes_loaded >= bytes_total)
{
removeEventListener(Event.ENTER_FRAME, startPreLoader);
removeChild(loaderBar);
addChild(pageLoader);

}

}



Не знаю, на сколько правильно седал, но думал так.
Юзер кликает по линку,
начинает грузится запрашиваемая страничка, срабатывает ивент INIT, в функции которого создать loaderBar - линию-прелоадер из 100 фреймов и врубить событие ENTER_FRAME которое будет проигрывать loaderBar и уберёт его по окончании загрузки и отобразит страничку.

в итоге, после клика проходит пару секунд ничего не отображается, потом появляется loaderBar полный на 100%, сразу пропадает и появляется страничка :(
:wacko:

Rzer
24.05.2008, 00:13
Файл слишком маленький. trace(bytes_loaded) или выводом на экран и проверь сколько различных значений он возвращает.
з.ы. На локальной машине загрузка происходит моментально.
Или вот это: http://www.flasher.ru/forum/showthread.php?t=112310

CEBEP
24.05.2008, 00:52
пробывал брать и побольше фаилов, в 5 мб. Тестил на локальной машине в режиме emulate download , как и говорил, кликаю - чистый экран - проходит N времени, появляется заполненый лоадБар, трейсятся "5мб" и отображается картинка :(

Rzer
24.05.2008, 00:59
Simulate download может работать неверно.

CEBEP
24.05.2008, 01:51
опробывал в инете, выводя в динамик филд bytes_loaded.
тоже самое что и в локалке :(