Просмотр полной версии : прелоадер с послед. аттачем клипов. Не получается у меня...
тут в архивах нашел
Один из приемов.
Прелоадер ставим на первый кадр, через пять кадров, за пределы сцены ставь мувики которые хочешь атачить(их юзать не будешь, слейдующий фрейм должен быть пустым, чтоб они удалились.
После чего на десятом кадре начинаешь играть свой сайт.
Но при этом я так понимаю, что нужно снять галочку с "Export in first frame"..
а если в клипе (symbol) используется картинка, которая тоже в symbol?
Видел еще вариант: вытащить все мувики на раб. стол и пользовать через дубликате. Но это опять ж гембель если клип в клипе
Читал FAQ, вот нарыл ссылку (http://www.flasher.ru/forum/showthread.php?threadid=48304). Работает, но опятьже: а как с аттачем?
а так ссылки на "нормально" работающий вариант не нашел.... :wacko:
Намекните, пожалуйста на реализацию "нормального" прелоадера.....
Fernando Costa
25.09.2007, 16:36
короче делай лучше внешний прелоадер и не парься, тогда процент загрузки будет отображаться сразу. не забудь поставить lockroot чтобы проблем не было
Вот сделал прелоадер через mc.loadMovie и потом делаю mc.getBytesLoaded()/mc.getBytesTotal(). У меня локально на компе играет. По крайней мере быстренько так вижу циферку 100% и размеры отображаю (для себя) от getBytes. Вроде все хорошо. Но тут проблема. В нете в тексте прогресса пишет "загрузка: NaN: 0 x 0". Что такое NaN понятно. Первый ноль - это беру от Loaded, второй ноль - это от Total. Но все равно через врямя ролик загружается и начинает играть.
mc._lockroot=true;
mc.loadMovie("index.swf", 0);
percent=0;
loader = function () {
percent = (mc.getBytesLoaded()/mc.getBytesTotal())*100;
pr.text="... "+percent+": "+mc.getBytesLoaded()+" x "+mc.getBytesTotal();
if (mc.getBytesLoaded()>=mc.getBytesTotal()) {
clearInterval(intr);
stop();
}
};
intr = setInterval(loader, 100);
Пришлось немного переделать. Но проигрывание загружаемого клипа начинается еще ДО окончания его загрузки.
var my_mcl:MovieClipLoader=new MovieClipLoader();
var my_obj:Object=new Object();
my_mcl.loadClip("index.swf",mc);
my_obj.onLoadStart=function(clip){
pr.text="Загрузка началась";
}
my_obj.onLoadError=function(clip,str){
pr.text="Ошибка"+str;
}
my_obj.onLoadProgress=function(clip,bytesLoaded,totalBytes){
pr.text=Math.round(bytesLoaded/totalBytes*100)+"%";
}
my_obj.onLoadComplete=function(clip){
pr.text="Загрузка завершина";
delete my_obj;
delete my_mcl;
}
my_mcl.addListener(my_obj);
Fernando Costa
03.10.2007, 13:18
делай в этом кадре stop(); а в событии onLoadComplete ставь play();
Я тоже так думал..
Но делать стоп где? Я пробовал в первом кадре mc сделать stop(), а после загрузки onLoadComplete сделать mc.gotoAndPlay(2); Так? Не получается. Просто не играет mc.
Спасибо, разобрался. Просто во втором кадре mc был лишний стоп (когда я копировал, то не убрал). У меня же прелоадер анимированный..
mr.zed А можете исходник выложить.......у меня такая же проблема........ни как не могу разобраться.....
только в подгружаемом клипе на 1й кадр ставишь stop();. Все, что там нужно идет со второго кадра, как обычно. Загрузчик вот. Только он такой большой в распакованном виде, потому что там были картинки.. С анимацией у меня.. Я их удалил, но размер остался, парадокс? :victory:
>>Только он такой большой в распакованном виде, потому что там были картинки.. С анимацией у меня.. Я их удалил, но размер остался, парадокс?
Нет, не парадокс. Save and compact спасет тебя.
Save and compact спасет тебя.
Ухты! Спасибо! стало 27 кБ. а было 2.8 метра
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.