Как применить динамическое масштабирование вниз и вверх к размеру миниатюрных изображений?

Я работаю над одним текущим проектом, у меня нет проблем с загрузкой SWF в основной SWF, но я не могу понять, как динамически применить масштабирование вниз и вверх к размеру миниатюрных изображений при использовании события Resize обработчик под любые размеры браузеров.

Я загружаю SWF в объект Loader, затем добавляю его в контейнер => currentMC. Я хочу изменить его размер и оставить все части внутри этого контейнера. Поэтому, независимо от размера браузера, я просто хочу иметь возможность масштабировать его по размеру.

Кто-нибудь знает как это сделать? Что мне делать с stageWidth и stageHeight? Любые примеры кода мне очень помогут.


person Qpixo    schedule 09.06.2010    source источник


Ответы (1)


Если вы можете редактировать загружаемый swf-файл, поместите этот код в ЗАГРУЖЕННЫЙ swf-файл:

if (stage==null) { //first we need to wait till the stage is initialized
    addEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
} else {
    onAddedToStage();
}

function onAddedToStage(event:Event=null):void {
    stage.addEventListener(Event.RESIZE, updateGUI); //resize something everytime we resize our browser window
    updateGUI(); //resize for the first time
}

function updateGUI(event:Event=null):void {
   //scale what you need
   //you can access the *stage* variable from inside the loaded swf, for eg.
   square.width = stage.stageWidth/4;
}

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

person VIT    schedule 22.06.2010
comment
Как масштабировать ролик, который динамически загружает другой SWF-файл? - person Qpixo; 13.08.2010
comment
Установите размер вашего основного SWF-файла на 100% в HTML (используйте%, а не пиксели!) В ваш основной фильм добавьте: stage.scaleMode = StageScaleMode.NO_SCALE; stage.align = StageAlign.TOP_LEFT; затем вы можете изменять размер ОБЪЕКТОВ (mcs и т. д.) внутри вашего основного фильма, но не самого фильма. - person VIT; 12.11.2010