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

Регистрация: Apr 2002
Адрес: Россия, СПб
Сообщений: 8
Отправить сообщение для BOEHPYK с помощью ICQ
По умолчанию Загрузка картинок и определение их размера

Задача, в принципе тривиальная, но возникла странная проблема.
Вот, к примеру, код с сайта Макромедии:

Код:
var loadListener:Object = new Object();

loadListener.onLoadInit = function(target_mc:MovieClip):Void {
    trace(">> loadListener.onLoadInit()");
    trace(">> =============================");
    trace(">> target_mc._width: " + target_mc._width); // 315
    _root.imageWidth = target_mc._width;  //вот тут хочу выдернуть значение ширины
}

var mcLoader:MovieClipLoader = new MovieClipLoader();
mcLoader.addListener(loadListener);

var mc:MovieClip = this.createEmptyMovieClip("mc", this.getNextHighestDepth());
mcLoader.loadClip("http://www.w3.org/Icons/w3c_main.png", mc);

trace(_root.imageWidth); // выдает undefined
По событию onLoadInit прекрасно определяется ширина картинки. Но я никак не могу выдернуть значение ширины в некую глобальную переменную, доступную из любого места в дальнейшем коде. Она доступна либо внутри события onLoadInit, либо, если я вешаю туда функцию - внутри это функции.
Попытки присвоить внутри этой функции значение ширины некой глобальной переменной ни к чему не приводят, поскольку код выполняется не дожидаясь загрузки картинки.
Может быть, кто-то сталкивался с подобной проблемой?
Заранее благодарен за ответ.