【问题标题】:AS3 MovieClip resizeAS3 影片剪辑调整大小
【发布时间】:2012-10-27 17:43:22
【问题描述】:

我正在尝试在我的舞台上找到一个 MovieClip 的 AS3 代码。 我的舞台在不同的屏幕(不同尺寸的显示器)上按比例调整大小,但 MC 对于小屏幕笔记本电脑来说太大了,并且它的某些部分被切断了。非常感谢您的帮助

【问题讨论】:

    标签: actionscript-3 resize movieclip screens


    【解决方案1】:

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

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

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

    【讨论】:

    • 是的,这就是我所做的 - 无论显示器的大小如何,背景影片剪辑都可以完美调整大小。但是我在屏幕底部做了一个页脚,但它没有...我使用 boldx = stage.stageWidth / 2 - width / 2; y = stage.stageHeight - 高度 - 10;宽度 = stage.stageWidth;高度 = stage.stageHeight; (scaleX 粗体我知道它看起来很不熟练。
    【解决方案2】:

    将此放在首位。此代码查找从原始布局到重新调整大小的比例大小。 (注意:最好在 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);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-08-28
      • 1970-01-01
      • 2013-01-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多