AS3 MovieClip调整大小

时间:2012-10-27 17:43:22

标签: actionscript-3 resize movieclip screens

我正在尝试在舞台上为MovieClip找到AS3代码。 我的舞台在不同的屏幕(不同尺寸的显示器)上按比例调整大小,但MC对于小屏幕笔记本电脑来说太大了,而且它的某些部分被切断了。希望得到任何帮助

2 个答案:

答案 0 :(得分:1)

您可以限制任何缩放,并自行处理大小调整:

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

查看scale modealign 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);