Форум 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)
-   -   Загрузка JPG с прелоадером. (http://www.flasher.ru/forum/showthread.php?t=78684)

Olejan 22.04.2006 13:28

Загрузка JPG с прелоадером.
 
Перечитал все уже по поводу загрузки картинок с сервера.
И про прелоадеры прочитал.
- это чтобы тему не удалили... :)
А вот как сделать так, чтобы при нажатии на кнопку в определенном месте моего ролика подгружалась из вне картинка (JPG), + в текстовом поле "percent" отображались проценты загрузки этой картинки, не понял.
Подскажите пожалуйста!
P.S. Я, честно говоря, в AS плохо разбираюсь, буду очень благодарен, если исходник выложите.
P.P.S. И за кусок кода большое спасибо скажу!

Nox Noctis 22.04.2006 13:36

вот тут есть описание, вроде несложное...
http://noregret.org/tutor/resize/

не совсем то, что тебе нужно, но все основные элементы там описаны.
тебе нужно модифицированть функцию, определяющую, что картинка загрузилась - добавить вывод процентов в текстовое поле.

Цитата:

Сообщение от Olejan
Перечитал все уже по поводу загрузки картинок с сервера.
И про прелоадеры прочитал.

честно? и всё равно задаешь этот вопрос?
если так, то варианта два:
1. ты ничего не читал, или читал заголовок, а дальше стало лень.
2. не хватило интеллекта, чтобы понять. :(

прошу прощения, но я других вариантов не вижу.

Olejan 22.04.2006 13:45

http://noregret.org/tutor/resize/
Спасибо. Буду сейчас пробовать. Только плохо, что на http://noregret.org/ исходники в 8-м Флэше. Просто у меня 7. :(

ЧИТАЛ!!! скорее тогда пункт 2. :)

Nox Noctis 22.04.2006 13:54

Цитата:

Сообщение от Olejan
ЧИТАЛ!!! скорее тогда пункт 2. :)

ну, это поправимо :)

на будущее - если ты хочешь, чтобы тебе быстро помогли на форуме, то сам покопайся, сделай большую часть работы, и спрашивай, если понадобится, только что-то более конретное а не в общем "как это сделать? сделайте всё за меня!".

просто практика показывает, что народ очень плохо на такие вопросы реагирует. :)

Цитата:

Только плохо, что на http://noregret.org/ исходники в 8-м Флэше.
обновил в этом рецепте исходник.
теперь он должен открываться и в седьмом флэше.

Olejan 22.04.2006 13:56

Прочитал, то что надо, без ресайза.
Вроде уже лучше. НО! Там не определяется количество процентов, чтобы я их в текстовое поле занес. Вот что я по этому поводу нашел:
_____________________
Код прелодера:
1 фрейм:
Код:
bl = getBytesLoaded();
bt = getBytesTotal();
persent = Math.round(bl*100/bt);
tpers.text = "Загрузка ролика: " + persent+" %";

Второй фрейм:

Код:
if (persent<100) {
gotoAndPlay(1)
}
else {
gotoAndPlay(3);
}
_____________________

Так вот меня немного смущает тот факт, что несколько фреймов тут. Можно все в одном сделать? Объясните пожалуйста, что надо сделать...

Nox Noctis 22.04.2006 14:28

Цитата:

Сообщение от Olejan
Вроде уже лучше. НО! Там не определяется количество процентов, чтобы я их в текстовое поле занес.

плохо дело. :))

вот, смотри, по этой ссылке:
http://noregret.org/tutor/resize/#2

есть такое:
Код:

clip.onEnterFrame = function()
{
    var l = this.image.getBytesLoaded();
    var t = this.image.getBytesTotal();

    if (t>0 && l>=t) {
        // загрузка закончилась
        delete this.onEnterFrame;
    }
};

обрати внимание на строчки, выделенные красным.

первая строчка - это запись в переменную l количества загрузившихся байт.

вторая строчка - это запись в переменную t общего количества байт картинки.

вопрос: что такое проценты?
это доля загрузившейся части от целого выраженная в пределах от 0 до 100.

составляем отношение: l/t - это покажет нам какая часть от целого загрузилась. чтобы получились проценты - нужно умножить на 100.

итого, проценты: percent = l/t*100;

с выводом в текстовое поле справишься?

Olejan 22.04.2006 14:59

Сделал так - отображается только когда 100%, то есть нет:
1%, 2%, 3%,.. 100%. А сразу 100%.
persent = Math.round(bl*100/bt);
tpers.text = "Загрузка ролика: " + persent+" %";

КАК? несправился... :(
P.S. Я уже расстраиваться начинаю...
P.P.S.Сразу вопрос по другой теме можно, или надо новую создать?

Olejan 22.04.2006 15:06

И еще, можно тебя по асе потиранить? Есть несколько моментов, которые хотелось бы решить...
Хоть направил бы меня на путь истинный... :)

Nox Noctis 22.04.2006 15:23

Цитата:

Сообщение от Olejan
Сделал так - отображается только когда 100%, то есть нет:
1%, 2%, 3%,.. 100%. А сразу 100%.
persent = Math.round(bl*100/bt);
tpers.text = "Загрузка ролика: " + persent+" %";

1. в редакторе нажми Ctrl+Enter
2. в меню View > Download Settings выставь тестовую скорость похуже, например 14.4
3. нажми еще раз Ctrl + Enter

это включит имитацию загрузки ролика из инета.

просто пока ты тестишь со своей машины - ты и не увидишь процесса загрузки, потому что с локальной машины файл ЛЮБОГО размера загружается за время ОДНОГО кадра.

или, ты можешь выложить ролик в инет и проверить уже оттуда.

Цитата:

Сообщение от Olejan
P.P.S.Сразу вопрос по другой теме можно, или надо новую создать?

http://flasher.ru/forum/showthread.php?t=73845
пункт #4

Olejan 22.04.2006 15:44

Большое спасибо за исходник!!! Почему бы все исходники на 7-м не сделать? Думаю у большинства пользователей все-таки 7-ой стоит...

А на счет отладочного режима: Ctrl+Enter
- ну я же не совмем тормоз!!! Делал я это все + устанавливал скорость 0,1 Кб/с - все равно показывается сначала 0%, потом пауза, потом 100%.
Не понимаю как это сделать, да и центровка что-то не сработала...
Мне вообще не надо ресайзить - просто выводить бы картинку по центру клипа clip. И все. Ну и текстовое поле с % бегущими...
Помоги, пожалуйста, по-моему теперь очень конкретно!


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

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