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

ellis 22.05.2007 14:26

уменьшение загружаемого клипа
 
Есть флешка, в которую динамически грузится клип. Высота и ширина загружаемого клипа больше, чем размер флешки. Нужно уменьшить клип пропорционально до размеров флешки.

Есть такой код, но клип не уменьшается. Подскажите, в чем ошибка?

Код:

loadMovie(muv, target_mc);
       
        trace(target_mc._width);
        xx = Math.round((Stage.width * 100) / target_mc._width);
        yy = Math.round((Stage.height * 100) / target_mc._height);
        trace(xx+','+yy+','+target_mc._width);
        target_mc._xscale = target_mc.xx;
        target_mc._yscale = target_mc.yy;


Kikasso 22.05.2007 15:05

MovieClipLoader вам поможет.

ellis 22.05.2007 16:49

Изменила загрузку клипа.
Код:

var clip_mcl:MovieClipLoader = new MovieClipLoader();
clip_mcl.loadClip(muv, target_mc);

xx = Math.round((Stage.width * 100) / target_mc._width);
yy = Math.round((Stage.height * 100) / target_mc._height);
trace(xx+','+yy);
target_mc._xscale = xx;
target_mc._yscale = yy;

Проблема в том, что клип не уменьшается. Если в вместо хх и уу прописать конкретные значения, то xscale и yscale срабатывают. Если же оставить переменные - не работает.

Kikasso 22.05.2007 17:05

Неправильно. Сперва клип грузим, потом с ним работаем. Для этого и нуже MovieClipLoader и его неповторимое onLoadInit.

ellis 22.05.2007 17:40

Вот так?

Код:

var clip_mcl:MovieClipLoader = new MovieClipLoader();
var mclListener:Object = new Object();
mclListener.onLoadInit = function(target_mc:MovieClip) {
trace(target_mc._width+','+target_mc._height);
xx = Math.round((Stage.width * 100) / target_mc._width);
yy = Math.round((Stage.height * 100) / target_mc._height);
trace(xx+','+yy);
target_mc._xscale = xx;
target_mc._yscale = yy;
};
       
clip_mc1.addListener(mclListener);
clip_mcl.loadClip(muv, target_mc);


Kikasso 22.05.2007 17:51

Очень похоже. Если работает, то так.
Хотя погодите, вы хотите его на всю сцену? После загрузки доступны и ширина и высота, можно просто
Код:

mclListener.onLoadInit = function(target_mc:MovieClip) {
 target_mc._heigth = Stage.height;
 target_mc._width = Stage.width;
}

А до загрузки непонятно, что такое ширина клипа который еще не загружен. А вы на это пытались разделить.

ellis 22.05.2007 17:56

С onLoadInit не работает. Вообще не выполняется этот кусок кода.

Molecula 22.05.2007 17:58

Код:

onLoadComplete
попробуйте


Код:

fmc = createEmptyMovieClip("footer_cell", this.getNextHighestDepth())           
      fmcl = new MovieClipLoader();
      fmcl.onLoadComplete = function(fmc){
doSomeThing()
                  }
      fmcl.addListener(fmcl);
      fmcl.loadClip("images/footer/"+_img,fmc);
 }


ellis 22.05.2007 18:00

с onLoadComplete - тоже не работает.
Клип загружается, но с ним ничего не происходит. Даже trace не выводится.

Molecula 22.05.2007 18:05

Исходник надо давать, там косяк какой-то скорее всего в имени файла неправильный или где-то в букве ошиблись - посмотрите внимательней, попейте кофе потом на трезвый глаз смотреть.


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

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