![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|
|
|||||
|
Регистрация: Sep 2002
Сообщений: 202
|
Приветствую
есть ролик который загружает внутри себя еще ролики var mcLoader:MovieClipLoader = new MovieClipLoader(); mcLoader.loadClip("clip1.swf", mcPortfolio); есть загрузчик, который показывает сколько сайта загрузилось: но он к сожалению не видит, что грузится clip1.swf т.е. показывает 100% и только через какое-то время переходит на следующий кадр Подскажите как сделать так, чтобы загрузчик корректно показывал загрузку сайта Где надо модифицировать код? |
|
|||||
|
Регистрация: Jan 2008
Сообщений: 669
|
Покажите полный код загрузчика
|
|
|||||
|
Регистрация: Sep 2002
Сообщений: 202
|
var g_nStartTime:Number = getTimer(); var g_pElementsParameters:Array = Array(70); var g_nLoading:Number = 0; mcBranchMask1.m_nStartPos = mcBranchMask1._x; mcBranchMask2.m_nStartPos = mcBranchMask2._x; for (nIndex:Number = 1; nIndex < 69; ++ nIndex) { g_pElementsParameters[nIndex] = 1; this["mcElement" + nIndex]._visible = false; } mcButterfly._visible = false; this.onEnterFrame = function() { // вычислить максимальный номер видимого элемента var nMaxIndex:Number = Math.ceil(69 * g_nLoading / 100); // отрисовать видимые элементы for (nIndex:Number = 1; nIndex < nMaxIndex; ++ nIndex) { this["mcElement" + nIndex]._xscale = g_pElementsParameters[nIndex]; this["mcElement" + nIndex]._yscale = g_pElementsParameters[nIndex]; if (g_pElementsParameters[nIndex] < 100) g_pElementsParameters[nIndex] *= 1.2; else g_pElementsParameters[nIndex] = 100; } // вывести процент загрузки txtLoading = ((Math.ceil(g_nLoading) < 10) ? ("0") : ("")) + ((g_nLoading < 100) ? (Math.ceil(g_nLoading)) : ("100")) + "%"; // вычислить текущею степень загрузки сайта var nTimeLoading:Number = (getTimer() - g_nStartTime) / 100; var nFramesLoading:Number = Math.ceil(100 * getBytesLoaded() / getBytesTotal()); g_nLoading = nFramesLoading;//(nTimeLoading < nFramesLoading) ? (nTimeLoading) : (nFrameLoading); if (g_nLoading >= 100) { for (nIndex:Number = 1; nIndex < nMaxIndex; ++ nIndex) { if (g_pElementsParameters[nIndex] != 100) return; } mcButterfly._visible = true; delete onEnterFrame; _root.gotoAndPlay(2); } // отрисовать ветки mcBranchMask1._x = mcBranchMask1.m_nStartPos + mcBranchMask1._width * g_nLoading / 100; mcBranchMask2._x = mcBranchMask2.m_nStartPos + mcBranchMask2._width * g_nLoading / 100; // отрисовать элементы веток for (nIndex:Number = 1; nIndex < nMaxIndex; ++ nIndex) this["mcElement" + nIndex]._visible = true; } |
|
|||||
|
.
|
Включите в рассчет загружаемые клипы.
var loadingPool: Object = new Object(); var mcLoader: MovieClipLoader = new MovieClipLoader(); mcLoader.loadClip("clip1.swf", mcPortfolio); this.loadingPool[mcPortfolio._name] = mcPortfolio; mcLoader.loadClip("clip2.swf", mcAbout); this.loadingPool[mcAbout._name] = mcAbout; function getBytes(funcName:String):Number { var result: Number = 0; var mc: MovieClip; var bytes: Number; for (var i:String in this.loadingPool) { mc = this.loadingPool[i]; bytes = mc[funcName].call(mc); if (bytes) result += bytes; } result += this[funcName].call(this); return result; } function onEnterFrame():Void { var nLoading:Number = this.getBytes('getBytesLoaded') / this.getBytes('getBytesTotal'); } Последний раз редактировалось dimarik; 24.08.2009 в 17:58. |
![]() |
![]() |
Часовой пояс GMT +4, время: 13:32. |
|
|
« Предыдущая тема | Следующая тема » |
|
|