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