![]() |
|
||||||||||
|
|
|
|||||
|
Регистрация: Nov 2007
Сообщений: 165
|
Привет.
Флешка 1.swf подгружает в себя 2.swf. При клике на кнопку - контент в 2.swf увеличивается в несколько раз. В 1.swf написан ресайз пропорциональный, но когда 2.swf увеличивается, то ресайз начинает вести себя некорректно. Подскажите плз каким образом можно корректно ресайзить подгружаемую флешку. Тоесть чтобы она ресайзилась одинаково как до увеличения так и после? ![]() Пример есть в CS5.5
__________________
Да здравствует то, благодаря чему мы не смотря ни на что! |
|
|||||
|
Регистрация: Nov 2007
Сообщений: 165
|
код для 1.swf
import flash.net.URLRequest; import flash.display.Loader; import flash.events.Event; import flash.events.ProgressEvent; import flash.display.MovieClip; stage.align = "TL"; stage.scaleMode = "noScale"; var myVideo:MovieClip = new MyVideo(); var mLoader:Loader = new Loader(); mLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, onCompleteHandler); mLoader.load(new URLRequest("2.swf")); function onCompleteHandler(loadEvent:Event){ var mc:MovieClip = loadEvent.currentTarget.content; myVideo.addChild(mc); addChild(myVideo) } var billy:Number=0; var willy:Number=0; stage.addEventListener (Event.RESIZE, resizeListener); function resizeListener(e:Event){ billy = myVideo.height / myVideo.width; willy = myVideo.width / myVideo.height; if ((stage.stageHeight / stage.stageWidth) > billy) { myVideo.width = stage.stageWidth; myVideo.height = billy * myVideo.width; } else { myVideo.height = stage.stageHeight; myVideo.width = willy * myVideo.height; }; myVideo.x = (stage.stageWidth - myVideo.width)/2; myVideo.y = (stage.stageHeight - myVideo.height)/2; } код для 2.swf import flash.events.MouseEvent; var flag:Boolean; btn.addEventListener(MouseEvent.CLICK, CLICKfnc); function CLICKfnc(e:MouseEvent){ if(!flag){ btn.scaleX = 6; btn.scaleY = 6; btn.x = -500; btn.y = -700; flag=true; }else{ btn.scaleX = 1; btn.scaleY = 1; flag=false; btn.x = 0; btn.y = 0; } }
__________________
Да здравствует то, благодаря чему мы не смотря ни на что! |
|
|||||
|
Banned
|
Цитата:
Цитата:
|
|
|||||
|
Регистрация: Nov 2007
Сообщений: 165
|
Тоесть видимая область (например обоих флешек 1280на720). И когда при нажати на кнопку 2.swf увеличивается,то из-за этого флешка 2.swf становится например 7680w и 4320h и поэтому ресайз в 1.swf начинает скакать.
__________________
Да здравствует то, благодаря чему мы не смотря ни на что! |
|
|||||
|
Banned
|
Сработает при изменении размеров FlashPlayer а не при изменении размеров внутренней графики. Поэтому у вас эта ф-ция вообще не запускается.
Вот этот код: сильно увеличивает размер вашей кнопки. Поэтому вам нужно, после изменения размеров 2.swf запускать проверку в 1.swf. Это может быть либо запуск ф-ции на прямую, либо диспатчите событие из 2.swf и ловите его в 1.swf. var mc:MovieClip = loadEvent.currentTarget.content; mc.addEventListener(Event.CHANGE, resizeListener) |
|
|||||
|
Регистрация: Nov 2007
Сообщений: 165
|
Спасибо
__________________
Да здравствует то, благодаря чему мы не смотря ни на что! |
![]() |
![]() |
Часовой пояс GMT +4, время: 01:17. |
|
|
« Предыдущая тема | Следующая тема » |
|
|