Форум 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=143128)

PRO100Light 08.08.2010 04:29

Определение размеров внешней картинки и использование результатов
 
Делал все как здесь. http://www.flasher.ru/forum/showthread.php?t=116867 В дебуг выводится все и определяется правильно... Но вот как пользоваться полученными данными? Мне нужно сместить координаты клипа, делаю так:

Код AS1/AS2:

pano.createEmptyMovieClip("mcImage", pano.getNextHighestDepth());
mclLoader.loadClip(urls[0], pano.mcImage);
  pano.mcImage._x = _width;
  pano.mcImage._y = 0;

Они смещаются... но по Х смещаются не на то значение которое должно быть. А на много меньше. Хелп Ме :umnik2:

mooncar 08.08.2010 10:22

Учитесь работать с MovieClipLoader, откройте хелп, посмотрите примеры.

К вашим объектам не привязываюсь, просто демонстрирую принцип:
Код AS1/AS2:

var mcl:MovieClipLoader = new MovieClipLoader();
mcl.addListener(this); //слушателем назначаем сам текущий объект (мувик или верхний уровень)
 
this.onLoadInit = function  (mc:MovieClip)  //mc - ссылается на containerMc, приходит аргументом
{
        mc._x = mc._width ;
        mc._y = 0;
};
 
mcl.loadClip(fileUrl, containerMc);

Что-либо делать с загруженным можно только после загрузки (для того этот класс и придуман), то есть изнутри функции-обработчика события onLoadInit.

PRO100Light 08.08.2010 13:13

Хорошо... а если мне потом это число нужно использовать?
Код AS1/AS2:

        var magicNumber:Number=  mc._width;

Как его правильно словить?

mooncar 08.08.2010 13:28

Уберите var и Number, тогда вне функции эта переменная останется определенной.

Ключевое слово в вашем вопросе - "потом". "Потом" - это значит только после onLoadInit. Использовать ее также можно будет, отталкиваясь от этого события:

Код AS1/AS2:

var magicNumber:Number ;
 
var mcl:MovieClipLoader = new MovieClipLoader();
mcl.addListener(this);
 
this.onLoadInit = function  (mc:MovieClip)
{
        magicNumber =  mc._width ;
        nextAction();
};
 
mcl.loadClip(fileUrl, containerMc);
 
function nextAction()
{
  trace(magicNumber); //выведет ширину загруженной  картинки
  //дальнейшие действия с magicNumber ....
}
 
trace(magicNumber); //выведет: undefined

До события onLoadInit она останется не определена, значит просто вписать ее ниже по коду нельзя, обязательно использование привязывайте к событию. Тогда все заработает.

PRO100Light 08.08.2010 13:44

И заработало:) Спасибо!

Добавлено через 2 часа 34 минуты
такс... и еще вопрос... допустим у меня есть 5 мувиков, в которые грузится одно и тоже... но высота каждого мувика меняется... Как менять высоту каждому мувику? к примеру height+2*i


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

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