0

获得一些DisplayObject我打电话DisplayObject::localToGlobal的全局屏幕位置(以像素为单位!)

var o: DisplayObject = ...;
var topLeft: Point = o.localToGlobal( new Point( 0, 0 ) );

我注意到我时不时地得到双倍的值topLeft.y,即使我期望一些整数值。我必须考虑一些缩放或坐标系吗?

4

2 回答 2

2

这可能是由于应用于您的DisplayObject.

您可以找出影响DisplayObject使用的所有转换:

myDisplayObject.transform.concatenatedMatrix;

这是应用于目标及其父对象的所有转换的结果,直到显示列表的根。

更多信息。

于 2012-08-27T16:26:55.507 回答
0

x/y坐标和width/height是 Fl​​ash 中的浮点值。使用子像素值(即:非整数值)调整/定位对象的大小/位置是完全合法的。

关于缩放,您可以查询对象scaleXscaleY属性以查看它们是否正在缩放,或者将这些值强制为 1。

于 2012-08-27T15:24:28.157 回答