flash as3 获取文档场景大小(注意不是舞台)
通过测试 this.width1367;stage.stageWidth1366;getrect(x=-1,?y=-1,?w=1367,?h=401);globalToLocal(x=0,?y=0);localToGlobal(x=0,?y=0);this.loaderInfo.width550;this.loaderInfo.content.stage.width1367;this.loaderInfo.content.width1367 根据浏览器缩放情况来观察 this.width838.55;stage.stageWidth747;getrect(x=-1,?w=838.55,?y=0);this.loaderInfo.width550;this.loaderInfo.content.stage.width838.55;this.loaderInfo.content.width838.55 舞台是变化,但是并没有影响元件本身大小 它应该是使用this.loaderInfo.width来得到. flash?手册 控制舞台缩放比例 当调整?Flash?Player?屏幕的大小时,Flash?Player?会自动调整舞台内容来加以补偿。Stage?类的?scaleMode属性可确定如何调整舞台内容。此属性可以设置为四个不同值,如?flash.display.StageScaleMode类中的常量所定义。? 对于?scaleMode的三个值(StageScaleMode.EXACT_FIT、StageScaleMode.SHOW_ALL和?StageScaleMode.NO_BORDER),Flash?Player?将缩放舞台的内容以容纳在舞台边界内。三个选项在确定如何完成缩放时是不相同的。
或者,如果将?scaleMode设置为?StageScaleMode.NO_SCALE,则当查看者调整?Flash?Player?窗口大小时,舞台内容将保持定义的大小。仅在缩放模式中,Stage?类的?width和?height属性才可用于确定?Flash?Player?窗口调整大小后的实际像素尺寸。(在其它缩放模式中,stageWidth和?stageHeight属性始终反映的是?SWF?的原始宽度和高度。)此外,当?scaleMode设置为?StageScaleMode.NO_SCALE并且调整了?SWF?文件大小时,将调度?Stage?类的?resize事件,允许您进行相应地调整。 因此,将?scaleMode设置为?StageScaleMode.NO_SCALE可以更好地控制如何根据需要调整屏幕内容以适合窗口大小。例如,在包含视频和控制栏的?SWF?中,您可能希望在调整舞台大小时控制栏的大小保持不变,而仅更改视频窗口大小以适应舞台大小的更改。以下示例中演示了这一点: 按照这个说法,设置NO_SCALE,放置全局变量然后resize后更新,这是一个比较好的方式 ????????????this.stage.addEventListener(Event.RESIZE,?_stageResize); 测试结果: sw1367;747 由此,这时可以使用stageWidth来获取实际大小 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |