获取某些DisplayObject
的全局屏幕位置(以像素为单位!)我正在调用DisplayObject::localToGlobal
var o: DisplayObject = ...;
var topLeft: Point = o.localToGlobal( new Point( 0, 0 ) );
我注意到我偶尔得到topLeft.y
的双倍值,即使我期望一些整数值。我是否需要考虑一些缩放或坐标系统?
答案 0 :(得分:2)
这可能是由于应用于DisplayObject
的父母的转化。
您可以使用
找出影响DisplayObject
的所有转化
myDisplayObject.transform.concatenatedMatrix;
这是应用于目标及其父级直到显示列表根目录的所有转换的结果。
答案 1 :(得分:0)
x
/ y
坐标和width
/ height
是Flash中的浮点值。使用子像素值(即:非整数值)对对象进行大小/定位是完全合法的。
关于缩放,您可以查询对象scaleX
和scaleY
属性以查看它们是否正在缩放,或者将这些值强制为1。