Форум Flasher.ru

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

Mustang GT 26.06.2003 12:59

вопрос по прелоадеру
 
У меня фильм из 4 сцен, перед первой поставил прелоадер. В первом фрейме
Код:

proc_umn = polosa._xscale/100;
// УЗНАЕМ ПО СКОЛЬКО % ПОЛОСКИ ДОЛЖНО ПРИБАВЛЯТЬЯ ЗА 1% ВРЕМЕНИ
polosa._xscale = 1;

во втором фрейме
Код:

b = this.getBytesLoaded();
// УЗНАЕМ ТЕКУЩЕЕ ЗАГРУЖЕННОЕ КОЛ-ВО БАЙТ ...
a = this.getBytesTotal();
// ВСЕГО БАЙТ
percent = Math.round(Math.abs(((a-b)/a*100)-100));
// ВЫЧИСЛЯЕМ КОЛ-ВО ПРОЦЕНТОВ
if (percent>=100) {
        gotoAndPlay ("START");
}
// ВСЁ ЗАГРУЖЕНО - НА СТАРТ
polosa._xscale = percent*proc_umn;
f2 = "LOADING: "+percent+"%";

ну и в третьем соответственно
Код:

gotoAndPlay("BeginPreload");
Все работает, НО прелоадер получился для всего фильма, а мне надо, чтобы он был только для 1 сцены.........короче вместо this.getBytesTotal() надо вписать количество фреймов в первой сцене. Я писал просто число 36 (у меня 36 кадров в сцене) но он переставал работать. Как быть?

Dimonius 26.06.2003 13:07

Совет: сцены не юзай, пусть лучше там Петросян выступает.
http://smilies.sofrayt.com/1/u/rockband.gif
Вот такой код должен сработать:

if (_framesloaded <= 15){
gotoAndPlay ("begin");
}
else {
gotoAndPlay ("start");
}

Mustang GT 26.06.2003 13:22

нет такой вариант мне не подходит.......сцены нужны обязательно :o

Dimonius 26.06.2003 13:31

Тогда поставь такой код в начало каждой.

Mustang GT 26.06.2003 13:47

зачем же его перед каждой ставить..? Ведь он загружает весь фильм, т.е. все сцены сразу.....это получается долго, поэтому надо прелоадер перед каждой сценой, а для этого надо изменить строчку в коде: a = this.getBytesTotal(); а как я не знаю. Ты знаешь?

Dimonius 26.06.2003 14:04

Если не нравится работать с кадрами, а хочется с байтами, тогда идешь в предосмотр, включаешь потоковый профайлер и смотришь сколько байт у тебя занимает каждая сцена.
Далее, в начале каждой (я так понял у тебя прелоадер в начале каждой) сцены в место a = this.getBytesTotal(); пишешь то значение байтов, которое к этому моменту необходимо подгрузить, вот и все.

Однако в данном случае я бы работал с кадрами. ИМХО

Mustang GT 26.06.2003 14:14

то есть надо писать this.getBytes100000(); если у меня 100000 байт?

Dimonius 26.06.2003 14:21

:p :p :p

Нет надо писать
a = 100000;
и сравнивать подгруженное с конкретным значением.

Mustang GT 26.06.2003 14:24

Цитата:

то есть надо писать this.getBytes100000(); если у меня 100000 байт?
действительно стормозил :D

Mustang GT 26.06.2003 17:35

спасибо за техническую и моральную поддержку...сделал не через сцены, а через мувики.....loadmovienum короче.....все пашет :D :cool:


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

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