|
|
|||||
[+2 07.04.09]
Регистрация: Feb 2009
Сообщений: 70
|
не, во флэшке тоже не работает.
если уменьшить высоту окна то с боку остается тот же самый пробел |
|
|||||
Че-то непонятно, труднее сделать, так что-бы не работало.
package { import flash.display.*; import flash.events.*; import flash.ui.*; import flash.text.*;import flash.geom.*; public class DocResize extends Sprite { private var rMc:Sprite, lMc:Sprite; public function DocResize():void{ stage.scaleMode = StageScaleMode.NO_SCALE; stage.align = StageAlign.TOP_LEFT; addChild(rMc = new ScaleTestMc); addChild(lMc = new ScaleTestMc); resizeHandler(); stage.addEventListener(Event.RESIZE, resizeHandler); } private function resizeHandler(evt:Event = null):void{ rMc.x = stage.stageWidth -rMc.width; } } } При публикации ставим размеры 100% http://www.murmadillo.tut.su/html/resize.html Естественно нет причин для не работоспособности этого и что-бы оно не работало надо приложить некоторые усилия, даже не понятно какие. |
|
|||||
[+2 07.04.09]
Регистрация: Feb 2009
Сообщений: 70
|
да спасибо это работает. но как я уже писала у меня проблемы с NO_SCALE , потому что мне нужно что если размер окна уменьшается то элементы тоже бы меняли размер. а как задать им такой scale не знаю
|
|
|||||
Ну так надо скалируемый контент засунуть в отдельный мувик и скалировать его
package { import flash.display.*; import flash.events.*; import flash.ui.*; import flash.text.*;import flash.geom.*; public class DocResize extends Sprite { private var rMc:Sprite, lMc:Sprite, mcGeneralContent:Doc, baseHeight:Number, baseWidth:Number; public function DocResize():void{ stage.scaleMode = StageScaleMode.NO_SCALE; stage.align = StageAlign.TOP_LEFT; addChild(mcGeneralContent = new Doc); addChild(rMc = new ScaleTestMc); addChild(lMc = new ScaleTestMc); baseWidth = 550; baseHeight = 200; resizeHandler(); stage.addEventListener(Event.RESIZE, resizeHandler); } private function resizeHandler(evt:Event = null):void{ var scaleObj:Object=getAutoScale(stage.stageWidth - (rMc.width + lMc.width), stage.stageHeight); rMc.x = stage.stageWidth -rMc.width; mcGeneralContent.x = scaleObj.x + lMc.width; //mcGeneralContent.y = scaleObj.y;//выравнивание по центру mcGeneralContent.scaleX = mcGeneralContent.scaleY = scaleObj.scale; } private function getAutoScale(_w:Number,_h:Number):Object { //trace("resizeHandler: " + evt); //trace("stageWidth: " + 800 + " stageHeight: " + 600); var scaleMode:String; var scale:Number; if (baseWidth>=baseHeight) scaleMode = "width";else scaleMode = "height"; if (scaleMode == "width") { scale = _w/baseWidth; if (baseHeight*scale>_h) scale = _h/baseHeight; }else{ scale = _h/baseHeight; if (baseWidth*scale>_w) scale = _w/baseWidth; } //kindSp.scaleX = kindSp.scaleY = scale; //центровка var centeroX:Number = Math.abs((_w- baseWidth*scale)/2); //kindSp.x = centeroX; var centeroY:Number = Math.abs((_h - baseHeight*scale)/2); //kindSp.y = centeroY; return { scale:scale, x:centeroX, y:centeroY }; } } } |
|
|||||
[+2 07.04.09]
Регистрация: Feb 2009
Сообщений: 70
|
Alex Lexcuk большое спасибо! очень помог
|
Часовой пояс GMT +4, время: 17:44. |
|
« Предыдущая тема | Следующая тема » |
|
|