0

我知道Flash的localToGlobalglobalToLocal将坐标从本地系统转换为全局系统的方法,但有没有办法实现中间?将坐标从任意系统转换为任何其他任意系统?获取坐标在父级中,但不在级中

我在一个Sprite中有一个可点击的对象,而Sprite是这个舞台的一个孩子。我想检索Sprite中的单击点。

回答

2

您可以使用以下方法:

var m:Matrix = a.transform.matrix.clone(); 
m.invert(); 
bCoord = m.transformPoint(aCoord); 

看起来有点verbous,由于反转的真正愚蠢的签名,但当剪辑深度嵌套,它应该会更快。

对不起,刚刚重读你的问题。如果你只想找出点击的点,那么你可以用MouseEventstageXstageYglobalToLocal

格尔茨
back2dos

+0

不是只变换相对于父虽然矩阵? – 2010-05-12 11:46:03

+0

@ Bart van Heukelom:对。看起来,虽然,你只是想要。 – back2dos 2010-05-12 11:49:23

+0

啊,是的,当然,你是对的。这将允许我解决这个特定的问题。但不能用它在任意坐标空间之间移动。 – 2010-05-12 12:01:22

4

打字时我想出了答案。我想我会发布这个问题,以便其他人可以通过搜索找到它。

bCoordinate = b.globalToLocal(a.localToGlobal(localPoint));