PDA

Просмотр полной версии : вопрос по прелоадеру


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: