![]() |
|
||||||||||
|
|||||
|
Регистрация: Oct 2005
Сообщений: 28
|
у меня проблема
есть karta.swf = 200 Кб чтобы сделать к нему предзагрузчик я использую MovieClipLoader
// Создаем объект MovieClipLoader
var mcl:MovieClipLoader = new MovieClipLoader();
// Создаем объект-приемник
var mclListener:Object = new Object();
// Регистрируем mclListener на получение сообщений от mcl
mcl.addListener(mclListener);
// Начальный масштаб полосы состояния загрузки
preloader.statusBar._xscale = 1;
// инициируем загрузку документа в клип holder
mcl.loadClip("karta.swf", 1);
mclListener.onLoadStart = function(target) {
target.onEnterFrame = function() {
// Локальный объект с информацией о состоянии загрузки
var progress:Object = mcl.getProgress(this);
var loadStatus:Number = Math.round(progress.bytesLoaded / progress.bytesTotal * 100);
// Если информация о загруженном объеме поступила...
if (progress.bytesLoaded) {
// Изменяем ширину полосы состояния
this._parent.preloader.statusBar._xscale = loadStatus;
// Выводим процент загрузки
this._parent.preloader.statusTxt.text = loadStatus + "%";
// Выводим данные о загрузке
this._parent.preloader.infoTxt.text = "Загружено " + Math.round(progress.bytesLoaded / 1024) + "Кб из " + Math.round(progress.bytesTotal / 1024);
}
// Если загрузка окончена...
if (loadStatus == 100) {
// Выгружаем содержимое предзагрузчика и заканчиваем его работу
mcl.unloadClip(preloader);
delete this.onEnterFrame;
}
};
};
наверно ошибка в этой строчке: mcl.loadClip("karta.swf", 1); |
|
|||||
|
Регистрация: Oct 2005
Сообщений: 28
|
Цитата:
только ты описался: onProgress --> onLoadProgress Если кому интересно, то вот исходник: // Создаем объект MovieClipLoader
var mcl:MovieClipLoader = new MovieClipLoader();
// Создаем объект-приемник
var mclListener:Object = new Object();
// Регистрируем mclListener на получение сообщений от mcl
mcl.addListener(mclListener);
// Начальный масштаб полосы состояния загрузки
preloader.statusBar._xscale = 1;
// инициируем загрузку документа в клип holder
mcl.loadClip("karta75.swf", 1);
mclListener.onLoadProgress = function(target, loadedBytes, totalBytes) {
var loadStatus:Number = Math.round(loadedBytes / totalBytes * 100);
preloader.statusBar._xscale = loadStatus;
preloader.statusTxt.text = loadStatus + "%";
preloader.infoTxt.text = "Загружено " + Math.round(loadedBytes / 1024) + "Кб из " + Math.round(totalBytes / 1024);
// Если загрузка окончена...
if (loadStatus == 100) {
// Выгружаем содержимое предзагрузчика и заканчиваем его работу
mcl.unloadClip(preloader);
delete this.onEnterFrame;
}
};
|
|
|||||
|
Регистрация: Dec 2002
Адрес: Живу вот где-то
Сообщений: 493
|
Опсь! Nirth в догонку ответь пожалуйста. Почему у меня эта штука не пашет?
var my_mcl:MovieClipLoader=new MovieClipLoader();
var mcl_list=new Object();
my_mcl.addListener(mcl_list);
//Сорри. Забыл вставить сюда это для полноты. Но в исходнике то эти объявления имеются.
mcl_list.onLoadStart=function(mc){
loader.txt="Загрузка "+imgCurrent+" кадра";
loader.bar._xscale=0;
loader.procent='0 %';
var lp=my_mcl.getProgress(mc);
trace('LoadStart\t'+mc+'\n*********');
trace('Bytes Total='+lp.bytesTotal+'\tBytes Loaded='+lp.bytesLoaded);
mcl_timer=setInterval(mcl_tracer,50,mc);// Приходится извращаться с тимером
}
//"onLoadStart" Трейсится, но все по 0. Хотя в доках вроде сказано, что уже отсюда можно получить размер файла и первой порции загрузки
mcl_list.onLoadProgress=function(mc, loadedBytes, totalBytes){//Do not working!
var lp=my_mcl.getProgress(mc);
trace('LoadProgress\nTotal='+totalBytes+'\tLoaded='+loadedBytes);
}
//А вот этого трейса у меня нету! :( ПОЧЕМУ????
mcl_list.onLoadInit=function(mc){
var lp=my_mcl.getProgress(mc);
loader.bar._xscale=150;
loader.procent='100 %';
//trace('LoadInit'+mc+'\nTotal='+lp.bytesTotal+'\tLoaded='+lp.bytesLoaded);
clearInterval(mcl_timer);
//create();
}
//onLoadInit трейсится нормально
function mcl_tracer(mc,lp){
var lp=my_mcl.getProgress(mc);
//trace('\t\tBytes\nTotal='+lp.bytesTotal+'\tLoaded='+lp.bytesLoaded);
loader.bar._xscale=(lp.bytesLoaded/lp.bytesTotal)*150;
loader.procent=Math.floor((lp.bytesLoaded/lp.bytesTotal)*100)+' %';
updateAfterEvent();
}
Последний раз редактировалось MOHCTEP; 21.12.2005 в 02:16. |
|
|||||
|
Регистрация: May 2001
Адрес: Москва
Сообщений: 670
|
onLoadProgress в 7-ке вроде не работает.
|
|
|||||
|
Регистрация: Dec 2002
Адрес: Живу вот где-то
Сообщений: 493
|
Цитата:
И че это за класс такой? Половина работает, половина нет? |
|
|||||
|
Ветеран форума
|
Цитата:
__________________
BestMasterиZация |
|
|||||
|
этот класс был добавлен в 7 и полностью работоспособен.
|
|
|||||
|
Регистрация: Dec 2002
Адрес: Живу вот где-то
Сообщений: 493
|
Цитата:
|
![]() |
![]() |
Часовой пояс GMT +4, время: 13:27. |
|
|
« Предыдущая тема | Следующая тема » |
|
|