Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   борода с прелоадером (http://www.flasher.ru/forum/showthread.php?t=68273)

sams_ 24.08.2005 01:33

борода с прелоадером
 
Есть простейший прелоадер:

bytes_loaded = Math.round(_root.getBytesLoaded());
bytes_total = Math.round(_root.getBytesTotal());
getPercent = bytes_loaded/bytes_total;
_root.loadBar._height = getPercent*100;
_root.loadText = Math.round(getPercent*100)+"%";
if (bytes_loaded == bytes_total) {
_root.gotoAndStop(3);
}

Так вот, отображаться у пользователя (при любых коннектах) он начинает с 50 процентов. Это первое. Второе — то, что мувиклип loadBar до конца прелоадинга почему-то успевает достичь только трети своей высоты (а не всей, как по идее должно быть).
Что это за? И как лечить?

Der Grossen 24.08.2005 03:11

Цитата:

отображаться у пользователя (при любых коннектах) он начинает с 50 процентов
Скорее всего из-за того, чо сам прелоадер весит немало.

Код:

setProperty("_root.loadBar", _xscale, 0);
onEnterFrame = function(){
bytes_loaded = _root.getBytesLoaded();
bytes_total = _root.getBytesTotal();
getPercent = Math.round(bytes_loaded/bytes_total);
setProperty("_root.loadBar", _xscale,  getPercent*100);
_root.loadText = Math.round(getPercent*100)+"%";
if (bytes_loaded < bytes_total) {
trace("Not loaded yet");
}else{
_root.gotoAndStop(3);
}
}

Вроде все правильно написал, но могут быть всякие очепятки

mixey_lv 24.08.2005 05:16

сделай прелоадер export in first frame

sams_ 25.08.2005 01:01

нет, всё равно не пашет.
что за чёрт? и совсем не тяжёлый прелоадер. 1к всего весит.

Бармалей 25.08.2005 09:05

воспользуйся кодом Der Grossen-а, только поставь перед ним stop();

Ромастый 25.08.2005 15:57

Цитата:

Сообщение от sams_
Так вот, отображаться у пользователя (при любых коннектах) он начинает с 50 процентов.

Запусти Bandwidth profiler и посмотри, сколько первый кадр весит.

В первом кадре:
Код:

stop();
_root.onEnterFrame=function() {
  var bl=_root.getBytesLoaded();
  var bt=_root.getBytesTotal();
  var perc=Math.floor(100*bl/bt);
  _root.loadBar._yscale=perc;
  _root.loadText.text=perc+"%";
  if(bl==bt) {
    _root.gotoAndStop(3);
  }
}

И не мучайся.

sams_ 27.08.2005 15:41

Спасибо за код, господа, всё пашет как часы, но проблема с первым кадром осталась. Даже выяснил в чём она, но не знаю как решить. Дело в том, что мой первый кадр весит 350кб. Странно, ведь в нём только динамическое текстовое поле, и более ничего...
А вот в чём дело — в мувике (в третьем кадре) есть довольно тяжёлый музыкальный трек, linkage которого говорит — export in first frame. Но если эту галку снять, — трек не играет совсем. Что делать?


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

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