Показать сообщение отдельно
Старый 28.08.2008, 21:42
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 10  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
А, нет, не так конечно. Вы же засунули обработчик в обработчик. У Вас onLoadInit находится внутри XML.onLoad. А надо было просто вызвать из XML.onLoad начало загрузки, т.е. loadImg(0). Сам же код лоадера и листенера оставить снаружи)
Ну вот так
Код:
var arr:Array = new Array();
var imgCounter:Number = 0;
var dist:Number = 12;
// создаем загрузчик клипов
var loader:MovieClipLoader = new MovieClipLoader();
// создаем слушатель для загрузчика
var listener:Object = new Object();
// добавляем слушатель к загрузчику
loader.addListener(listener);
var total:Number = null;
// сoздаем контейнер
var container_mc:MovieClip = _root.createEmptyMovieClip("container_mc", _root.getNextHighestDepth());
// создаем объект XML
var my_xml:XML = new XML();
my_xml.ignoreWhite = true;
my_xml.onLoad = function(success:Boolean) {
	if (success) {
		// узнаем сколько всего картинок
		total = my_xml.firstChild.childNodes.length;
		for (var k:Number = 0; k<total; k++) {
			arr.push(my_xml.firstChild.childNodes[k].attributes.small);
		}
		trace("XML loaded!\n--------------\nTotal : "+total+" images in List")
		loadImg(0);
	}
};
////
listener.onLoadInit = function(target:MovieClip):Void  {
	trace("--------------\nImage "+imgCounter+" loaded!")
	imgCounter++;
	target._x = dist*imgCounter;
	if (imgCounter<total) {
		loadImg(imgCounter);
	} else {
		loader.removeListener(listener);
		delete listener;
		delete loader;
	}
	
};
		
function loadImg(imgCounter:Number) {
	var pic:MovieClip = container_mc.createEmptyMovieClip("mc"+imgCounter, imgCounter);
	loader.loadClip(arr[imgCounter], pic);
}
// грузим XML
my_xml.load("gallery.xml");
__________________
Reality.getBounds(this);