flash as3的动态x,y与浏览器放大后的位置关系
//不变形处理?? stage.scaleMode=StageScaleMode.NO_SCALE?? //左上角对齐?? stage.align=StageAlign.TOP_LEFT 默认,元件是居中显示的,所以,这时不管是global?xy(全局也就舞台)或是元件显示内部的xy都是相对当前root对象显示的位置来定 也就是 如果居中显示 当root对象小于显示区域时,必须root对象会出现在中间,然后,舞台的xy就从root的左上角开始,而不是从浏览器的可用区域左上角算起, 这时,要么设置居左上显示,要么得算出居中时离浏览实际的边点有多少. 下图,实际白色区域还有空白,但是xy都认为已经是0了. 测试代码 ????????????errorTip(????????????3?+?'?'?+?this.stage.scaleX?+?'?'?+?_stageMc.scaleX?+?'?'?+?this.x?+?'?'?+?this.stage.x?+?'?'?+stage.globalToLocal(new?Point(0,0))?+?';'?+?_stageMc.localToGlobal(new?Point(0,0))+?'?'?+??this.globalToLocal(new?Point(0,0))); 居左显示时. 放大时,不会在左边出现一块空白,那是因为舞台初始时是小于显示白色区域的,而后面动态根据舞台创建出来的元件,如果按照舞台大小出现,xy在原点上,就会出现右边看不到的情况. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |