舞台对象的 stageWidth 属性的文档指出:
如果在用户调整窗口大小时将 Stage.scaleMode 属性的值设置为 StageScaleMode.NO_SCALE,则舞台内容将保持其定义的大小,而 stageWidth 属性会更改以反映 SWF 文件占用的屏幕区域的新宽度大小。(在其他缩放模式下,stageWidth 属性始终反映SWF 文件的原始宽度。)
但是有什么方法可以影响舞台的原始宽度,而无需重新编译 swf?
舞台对象的 stageWidth 属性的文档指出:
如果在用户调整窗口大小时将 Stage.scaleMode 属性的值设置为 StageScaleMode.NO_SCALE,则舞台内容将保持其定义的大小,而 stageWidth 属性会更改以反映 SWF 文件占用的屏幕区域的新宽度大小。(在其他缩放模式下,stageWidth 属性始终反映SWF 文件的原始宽度。)
但是有什么方法可以影响舞台的原始宽度,而无需重新编译 swf?
无法设置 stageWidth 和 stageHeight。它们基于 stagescalemode 和 html 容器。
或者可以说有一个有限的巨大画板,什么是 Flash 中的可显示区域(与 stageWidth 无关)。
如果你的 swf 有 StageScaleMode.NO_SCALE,它的 stageWidth 会告诉你它的容器的宽度。并且它总是会通过向你展示这个画板的或多或少来适应它的父 html 元素。但这不能直接由 as3 设置。为此,您需要 js。
如果您有任何缩放 swf 的 StageScaleMode。然后它变得混乱,因为有限的巨大画板被拉伸和扭曲以满足配件。as3中的一个像素不再意味着屏幕上的一个像素。但是该artbord的可见部分将始终是相同的。