Показать сообщение отдельно
Старый 24.04.2006, 14:32
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 19  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
что у тебя происходит из этого куска кода не понять..
вариантов на самом деле может быть много,
я бы так сделал:
Код:
import flash.display.BitmapData;
class PicLoader {
	var images=[],loaders=[];
	var length,intrv;
	var addListener,broadcastMessage;
	function PicLoader(){
		AsBroadcaster.initialize(this);
	}
	function load(urls){
		images=[];
		length=urls.length;
		for(var i=length;i--;){
			var l=loaders[i]=_root.createEmptyMovieClip('tmp'+i,_root.getNextHighestDepth());
			l._x=2000;
			l.loadMovie(urls[i]);
		}

		intrv=setInterval(this,"loadControl",50);
	}
	function loadControl(){
		for(var i=length,bl=0,bt=0;i--;){
			bt+=loaders[i].getBytesTotal();
			bl+=loaders[i].getBytesLoaded();
		}
		
		if(bt>0 && bl==bt){
			clearInterval(intrv);
			for (var i=length;i--;) {
				var l=loaders[i];
				images[i]=new BitmapData(l._width,l._height);
				images[i].draw(l);
				l.removeMovieClip();
			}
			
			broadcastMessage('onPicsLoad');
			
		}else {
			broadcastMessage('onProgress',bl,bt);
		}
	}
}
смотрим-проверяем
Код:
var picsUrl=["p0.jpg","p1.jpg","p2.jpg"];//url картинок
var pl=new PicLoader();
pl.addListener(this);
function onProgress(l,t){
	trace(l+"/"+t);//здесь вывод информации о загрузке
}
function onPicsLoad(){
	trace("все..");
	//дальлше только для проверки: по клику будем аттачить по очереди катринки в рут
	var n=0;
	onMouseUp=function(){
		_root.attachBitmap(pl.images[n++],0);
		n%=pl.length;
	}
}
////////////////
pl.load(picsUrl);//запускаем загрузку
//Ctrl-Enter 2 раза