在某些情况下,我们需要将displayObject中的本地点转换为其父节点。当displayObject没有旋转或缩放时,结果很容易计算:
var xAtParent:Number= displayObject.x+ localX;
var yAtParent:Number= displayObject.y+ localY;
// where localX& localY are with respect to displayObject但是,当displayObject被旋转或缩放时,它并不是直接计算出来的,所以问题是,在操作脚本3中是否有开箱即用的解决方案来解决这个问题?
发布于 2013-09-03 21:46:23
因为它构建在一个带有仿射(矩阵)转换的显示列表上,所以它提供了易于使用的坐标空间转换函数。从src坐标系到dst坐标系(假设src和dst都是舞台上的DisplayObject):
var p:Point = new Point(src_local_x, src_local_y);
p = src.localToGlobal(p);
p = dst.globalToLocal(p);
// p.x is dst_local_x
// p.y is dst_local_y您还可以轻松地在任何其他src对象的本地坐标空间中获得任何dst对象的边界:
var dst_local_bounds:Rectangle = src.getBounds(dst);https://stackoverflow.com/questions/18513763
复制相似问题