Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Загрузка картинок и определение их размера (http://www.flasher.ru/forum/showthread.php?t=83884)

BOEHPYK 18.08.2006 15:21

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

Код:

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, либо, если я вешаю туда функцию - внутри это функции.
Попытки присвоить внутри этой функции значение ширины некой глобальной переменной ни к чему не приводят, поскольку код выполняется не дожидаясь загрузки картинки.
Может быть, кто-то сталкивался с подобной проблемой?
Заранее благодарен за ответ.

Sneg 18.08.2006 15:51

Код:

import mx.utils.Delegate;

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

loadListener.onLoadInit = Delegate.create(this,onLoadInit);

function onLoadInit(target_mc:MovieClip):Void {
        width_object.imageWidth=target_mc._width;
        showWidthObject();
};

function showWidthObject():Void {
        trace(width_object.imageWidth);
};

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



Часовой пояс GMT +4, время: 13:21.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.