我正在尝试在舞台上为MovieClip找到AS3代码。 我的舞台在不同的屏幕(不同尺寸的显示器)上按比例调整大小,但MC对于小屏幕笔记本电脑来说太大了,而且它的某些部分被切断了。希望得到任何帮助
答案 0 :(得分:1)
您可以限制任何缩放,并自行处理大小调整:
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;
查看scale mode和align properties可用的文档。
答案 1 :(得分: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缩放您拥有的每个MovieClip / Sprite,例如: _mc.scaleX = _mc.scaleY = appScale。 使用这种方式,每次重新调整舞台大小时,都会移动右边框和下边框。这意味着如果你希望你的页脚总是从底部50px,你应该使用类似的东西:
_footer.y = stage.stageHeight - (50 * appCale);