2012-10-27 56 views
0

我想在我的舞台上找到一个MovieClip的AS3代码。 我的舞台根据不同的屏幕(不同大小的显示器)按比例调整大小,但MC对于小屏幕笔记本电脑来说太大了,并且它的某些部分会被切断。希望得到您的帮助AS3 MovieClip调整大小

+0

你有什么试过的? –

回答

1

你可以限制任何缩放,并处理上浆自己:

stage.scaleMode = StageScaleMode.NO_SCALE; 
stage.align = StageAlign.TOP_LEFT; 

看一看的文档的scale modealign properties可用。

+0

是的,这就是我所做的 - 无论显示器的大小如何,背景动画片段都可以完美调整大小。但我在屏幕的底部做了一个页脚,它只是没有...我用 ** bold ** x = stage.stageWidth/2 - width/2; y = stage.stageHeight - height - 10; width = stage.stageWidth; height = stage.stageHeight; (scaleX niux

1

把它放在其他任何东西之前。这段代码找到了从原始布局到重新调整大小的比例尺寸。 (注:这是最好的,如果你用这个当Event.RESIZE正在发生的事情)

stage.scaleMode = StageScaleMode.NO_SCALE; 
stage.align = StageAlign.TOP_LEFT; 

var guiSize:Rectangle = new Rectangle(0, 0, 1024, 600); //original stage size, substitute this with your orginal size 
var deviceSize:Rectangle = new Rectangle(0, 0, 
Math.max(stage.fullScreenWidth, stage.fullScreenHeight), 
Math.min(stage.fullScreenWidth, stage.fullScreenHeight)); 

var appScale:Number = 1; 

if ((deviceSize.width/deviceSize.height) > (guiSize.width/guiSize.height)) { 
    appScale = deviceSize.height/guiSize.height; 
} 
else { 
    appScale = deviceSize.width/guiSize.width; 
} 

比,使用appScale规模每一个影片剪辑/雪碧你有,例如_mc.scaleX = _mc.scaleY = appScale。 使用这种方式,每次舞台重新调整大小时,右边框和下边框都会移动。这意味着如果你希望你的页脚始终为50px,你应该使用类似于:

_footer.y = stage.stageHeight - (50 * appCale);