Форум 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)
-   -   прелоадер + Loader (http://www.flasher.ru/forum/showthread.php?t=71528)

Minutka 07.11.2005 20:55

прелоадер + Loader
 
Подскажите, пожалуйста, как правильно сделать прелоадер для экземпляра компонента Loader?
На рабочем листе есть экземпляр компонента Loader - "loader1" и кнопочки - в зависимости от того, какая кнопка нажата, в loader1 загружаются фотографии 1.jpg, 2.jpg, 3.jpg и т.д.
При первой загрузке в loader1 - прелоадер работает, полоса движется. А при всех остальных - загрузка происходит, а прелоадер не работает.
При последующих загрузках получается так, что loader1.bytesTotal дает значение предыдущей фотографии, а не новой, а также loader1.bytesLoaded==loader1.bytesTotal. Не знаю что с этим делать.

function preloader(){
var t,l:Number;
var prc:Number;
_root.attachMovie("line", "line", 1);
_root.line._xscale=0;
_root.onEnterFrame=function(){
t=loader1.bytesTotal;
l=loader1.bytesLoaded;
_root.line._xscale=l/t*100;
if (l && t && l==t){
delete _root.onEnterFrame;
_root.line.unloadMovie();
}
}
}
К кнопкам у меня привязан такой код:
on(release){
loader1.load("1.jpg"); // для других кнопок соответственно другие фотографии
preloader();
}

Minutka 08.11.2005 13:30

Неужели никто не знает в чем проблема? Или все так просто и очевидно, что никто не хочет потратить минутку и подсказать? :((((

Alex T 09.11.2005 11:50

не знаю в чем проблема, может это поможет:

t = loader1.bytesTotal;
_root.onEnterFrame = function() {
l = loader1.percentLoaded;
trace(l);
_root.line._xscale = l;
...}
здесь t объявлена перед onEnterFrame, чтобы было меньше обращений к loader1, все равно его значение не меняется :)
удачи!

Minutka 09.11.2005 19:19

Вложений: 1
Alex T, спасибо. К сожалению, не помогло.
Проблема заключается в том, что когда мы входим в _root.onEnterFrame=function() {....} самый первый раз, то loader1.bytesLoaded и loader1.bytesTotal - undefined... Т.е. то, что прикреплено к кнопкам (loader1.load("1.jpg")....) срабатывает не сразу. При втором заходе в _root.onEnterFrame=function() {....} - все ок.
Соответственно, когда начинаю грузить другие фотки - loader1.load("2.jpg") и снова попадаю в ту функцию, то в первый заход у меня остаются старые значения, а во второй заход уже все ок.
Я ввела дополнительную переменную (k), чтобы l,t присваивались значения не с первого раза, а начиная со второго.... Но не знаю - может проще можно сделать. Может ошибка в чем-то другом. Да и не нравится мне, что общий размер файла у меня определяется при каждом вызове той функции, а вынести за пределы этой функции не могу. Не работает.
Прилагаю исходник.

Alex T 10.11.2005 11:32

Очень хороший маневр!

Minutka, в принципе мне кажется главное, чтобы работало, а как оно сделано это уже второй вопрос (но конечно, если значение не имеет размер файла и оперативная память, т.е. если из-за обходов всяких "глюков" сильно не увеличиваются эти показатели),...:).

Minutka 10.11.2005 17:04

Тогда оставлю как есть. Спасибо


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

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