Показать сообщение отдельно
Старый 02.08.2007, 15:39
Winged вне форума Посмотреть профиль Отправить личное сообщение для Winged Найти все сообщения от Winged
  № 1  
Ответить с цитированием
Winged

Регистрация: Jul 2007
Сообщений: 12
По умолчанию Проблема при загрузке изображения

Итак, мне нужно загрузить превьюшки из внешних файлов в массив из BitmapData. Превью имеют названия 1.jpg, 2.jpg ... img_num.jpg Имею такой код:
Код:
import flash.display.BitmapData;
var img_num:Number = 5; //Кол-во изображений
var pre_path:String = "/previews/"; //Папка с превью
var pre_bmd:Array = [];  //Массив с BitmapData
function applyAll():Void {
	//Сначала нам нужно загнать все превьюшки в массив BitmapData. Для этого мы поочереди грузим  
	//каждую превью в MovieClip, после чего рендерим его в BitmapData.
	function loadNext(i:Number) {
		//Функция рекурсивно грузит превью, ждет ее загрузки, отрисовывает и грузит следующую
		var loader:MovieClipLoader = new MovieClipLoader();
		var listener:Object = {};
		createEmptyMovieClip("temp"+i, getNextHighestDepth());
		_root["temp"+i].createEmptyMovieClip("img",1);
		loader.addListener(listener);
		loader.loadClip(pre_path+i+'.jpg', _root["temp"+i].img);
		listener.onLoadComplete = function() {
			trace(_root["temp"+i]._width);
			if (i<img_num){
				loadNext(i+1);
			}else{
				trace("Loading complete!");
			}
		};
	}
	trace("Loading previews...");
	loadNext(1);
}
Так вот - trace(_root["temp"+i]._width); у меня почему-то выдает 0, хотя должен 120 (длина превьюшек везде 120).
Может, я не правильно понял, но ведь событие onLoadComplete происходит уже после того, как рисунок загрузится, и соот-но длина клипа должна быть 120.
Рисунке грузятся, т.е во флеше они показываются...
Объясните, плиз, что я делаю не так...