Форум 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)
-   -   масштабирование картинки после loadMovie (http://www.flasher.ru/forum/showthread.php?t=85337)

Ulya 20.09.2006 15:58

масштабирование картинки после loadMovie
 
Расскажите плиз, как отмасшабировать картинку после того, как она вставляется в мувиклип через loadMovie?

У меня есть массив объектов, которыми задаются координаты и размеры областей, куда нужно вставлять картинки.
На присваивание координат х и y реагирует, а когда задаю ширину клипа, в который импорт, картинка даже не импортируется? Как правильно сделать? onLoad не работает тоже. Хэлп!!!!!

Код:

function PutObjects() {
        _root.depth++;
        for (q=0; q<_root.Objects.length; q++) {
                var curr:MovieClip = _root.createEmptyMovieClip("obj_"+q, _root.depth);
                _root.depth++;
                curr.onLoad = function() {
                        trace("загрузилась");
                };
                curr._x = _root.Objects[q].x;
                curr._y = _root.Objects[q].y;
                curr._alpha = _root.Objects[q].alpha;
                //curr._width = _root.Objects[q].w;
                //curr._height = _root.Objects[q].h;
                curr.loadMovie(_root.Objects[q].name);
        }
}


Alex T 20.09.2006 16:07

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

Alex T 20.09.2006 16:10

по поводу onLoad - http://livedocs.macromedia.com/flash...=00001534.html

Ulya 20.09.2006 16:40

Alex T, спасибо, получилось вот так
Код:

function PutObjects() {
        trace("импорт");
        trace("len="+_root.Objects.length);
        _root.depth++;
        for (q=0; q<_root.Objects.length; q++) {
                var curr1:MovieClipLoader = new MovieClipLoader();
                trace("_root.depth="+_root.depth);
                var curr:MovieClip = _root.createEmptyMovieClip("obj_"+q, _root.depth);
                _root.depth++;
                trace("_root.Objects[q].w "+_root.Objects[q].w);
                trace("_root.Objects[q].h "+_root.Objects[q].h);
                var curr1:MovieClipLoader = new MovieClipLoader();
                var mclListener:Object = new Object();
                mclListener.onLoadInit = function(target_mc:MovieClip) {
                        trace(target_mc._name +" movie loaded");
                        number = target_mc._name.split("_");
                        nu=Number(number[1]);
                        trace("номер "+nu);
                        trace(_root.Objects+" _root.Objects");
                        target_mc._alpha=_root.Objects[nu].alpha;
                        target_mc._x=_root.Objects[nu].x;
                        target_mc._y=_root.Objects[nu].y;
                        target_mc._width=_root.Objects[nu].w;
                        target_mc._height=_root.Objects[nu].h;
                };
                curr._lockroot = true;
                trace("_root.Objects[q].name"+_root.Objects[q].name);
                curr1.loadClip(_root.Objects[q].name, curr);
                curr1.addListener(mclListener);
                trace("_root.Objects[q].name "+_root.Objects[q].name);
        }
}

И ещё вопрос: как программно изменить размеры сцены. Флэшка читает из XML данные и должна поменять диамчески свои размеры. КАК?

Alex T 20.09.2006 16:54

если у тебя флешка запускается в браузере, размеры сцены изменить нельзя
можно только для локальных приложений (ехе), созданных, например в zinc

Ulya 20.09.2006 17:06

Alex T, ну допустим возьмём exe-шник. Средствами макромедии нельзя поменять размер документа? (программно)

Alex T 20.09.2006 17:26

нет, только с помощью сторонних продуктов

Ulya 20.09.2006 17:39

Странно, если во флэше при создании ролика можно менять размер документа, то должен быть программный доступ к этой функции.
С Zinc разобралась, но толку в нём мало, при необходимости можно и перекомпилить мувик. Важно, чтобы его размер брался из внешнего файла.

iNils 20.09.2006 18:27

Кто вам не дает менять размеры сцены через JavaScript?

Ulya 20.09.2006 18:33

iNils, можно по-подробнее? Каким образом?


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

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