我正在尝试在我的舞台上找到一个 MovieClip 的 AS3 代码。我的舞台在不同的屏幕(不同尺寸的显示器)上按比例调整大小,但 MC 对于较小屏幕的笔记本电脑来说太大了,并且它的某些部分被切断了。任何帮助将不胜感激
问问题
1829 次
2 回答
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。使用这种方式,每次调整舞台大小时,都会移动右边界和下边界。这意味着如果您希望您的页脚始终距离底部 50 像素,您应该使用以下内容:
_footer.y = stage.stageHeight - (50 * appCale);
于 2012-10-27T19:46:52.977 回答