PDA

Просмотр полной версии : Предзагрузчик для картинки, загруженной динамически


Lolita
05.02.2003, 10:53
Здравствуйте, люди добрые!
У меня такой вопрсик..
Как сделать предзагрузчик для movie.loadmovie("Pic.jpg"), чтобы хотя бы показывал "loading...", пока она грузится.

Заранее спасибо,
Lolita.

iLoveYou
05.02.2003, 11:26
Картинку-в мувик, к мувику - прелоадер.

С любовью. Гумберт.

Lolita
05.02.2003, 12:30
2Sergey"iLoveYou"
а можете мне маленький примерчик написать, пожалуйста.

iLoveYou
05.02.2003, 12:35
Долорес, если ты умеешь делать прелоадеры (ну, или по крайней мере вставлять готовые) и знаешь, как импортировать картинку в мувик, твой вопрос отпадает.

Lolita
05.02.2003, 13:30
посмотрите аттач

Lolita
05.02.2003, 13:40
посмотрите аттач

LostWarrior
05.02.2003, 15:34
Главная проблемя при написании прелоадера - проверить, работает или нет :))) Посмотри это файлик.

Там сделана одна штука, чтоб проверить работу.
Когда будеш использовать на сервере, убери эти строки.

LostWarrior
05.02.2003, 15:43
Первая попытка завершилась неудачей :(
Попробую еще раз...



PS Кстати, это твоя фотография? :)

iLoveYou
05.02.2003, 16:40
Кстати, это твоя фотография?
Существо на фотографии старовато для нимфетки...

LostWarrior
05.02.2003, 16:57
Существо на фотографии старовато для нимфетки...

Открывал топик про любовь, а подвержен таким комплексам... :)

Lolita
05.02.2003, 17:31
http://vodoley.by.ru/pre.html
там ничего не бежит. где бегущая полоска??
в чем дело??

LostWarrior
05.02.2003, 18:46
а у меня работает:
in-space.by.ru/pre.html (http://in-space.by.ru/pre.html)

iLoveYou
05.02.2003, 22:25
Оригинал написал(а) LostWarrior
Открывал топик про любовь, а подвержен таким комплексам... :)
Каким таким комплексам?

Pietrovich
06.02.2003, 00:22
чето я не вкурил что у кого работает... короче еще вариант
preload = function (to,from,txt)
{
_root.createEmptyMovieClip("preloader",10000);
var p = _root.preloader;
p.trgt = to;
var tft = new TextFormat();
tft.font = "Lucida Console";
tft.size = 18;

p.createTextField("msg",1,0,0,100,20);
x = p["msg"];
x.autoSize = "left";
x.textColor = "0xcccccc";
x.selectable =false;
x.multiline=true
x.setNewTextFormat(tft);
x.text = txt;

p.createTextField("txt",2,0,20+x.textHeight,100,20);
x= p["txt"];
x.autoSize = "left";
x.textColor = "0xcccccc";
x.selectable =false;
x.multiline=true
x.setNewTextFormat(tft);
x.text = "0%"

p.onEnterFrame = function ()
{
tmp = 100*this.trgt.getBytesLoaded()/this.trgt.getBytesTotal();
this.txt.text = Math.floor(tmp)+"%";
if (this.txt.text=='100%')
{
this.removeMovieClip();
}
}

to.loadMovie(from);
}

_root.createEmptyMovieClip("vars",1);



preload(_root.vars,"pathToImg/image1.jpg","загрузка...")

ну уж полоску прикрутить я дкмаю не проблема...

sergwizard
06.02.2003, 03:14
Петрович,
Код твой хорош, НО(!) только для подгружаемых мувиков. Ни для картинок, ни для текстовых файлов нельзя сделать процентный прелоадер. Постараюсь еще раз объяснить, почему.
Вот в твоем скрипте есть такая строчка:
tmp = 100*this.trgt.getBytesLoaded()/this.trgt.getBytesTotal();

Так вот, флэш-мувик не может знать (пока не загрузил полностью), сколько BytesTotal содержится в картинках или в текстовых файлах. Нет у него такой информации. У подгружаемых swf, мувик может считать эти самые BytesTotal, - эта информация содержится в первых байтах swf файлов. Мувик знает BytesTotal всех своих составных частей, поэтому мы также можем делать процентные прелоадеры для любого клипа в мувике. Но оставьте в покое картинки и txt.
Поэтому, твоя заключительная фраза: "ну уж полоску прикрутить я думаю не проблема..." здесь неуместна. Проблема это, большая проблема. То есть, прикрутить-то ее – конечно – можно, но вот показывать она будет только xscale = 0, а потом сразу - xscale = 100.
Да и эта часть кода this.txt.text = Math.floor(tmp)+"%"; будет давать в результате "NaN%".
Так что, если хотите проценты – вставляйте все сначала в мувики, а потом их подгружайте.
С уважанием