我知道Flash的localToGlobal
和globalToLocal
将坐标从本地系统转换为全局系统的方法,但有没有办法实现中间?将坐标从任意系统转换为任何其他任意系统?获取坐标在父级中,但不在级中
我在一个Sprite中有一个可点击的对象,而Sprite是这个舞台的一个孩子。我想检索Sprite中的单击点。
我知道Flash的localToGlobal
和globalToLocal
将坐标从本地系统转换为全局系统的方法,但有没有办法实现中间?将坐标从任意系统转换为任何其他任意系统?获取坐标在父级中,但不在级中
我在一个Sprite中有一个可点击的对象,而Sprite是这个舞台的一个孩子。我想检索Sprite中的单击点。
您可以使用以下方法:
var m:Matrix = a.transform.matrix.clone();
m.invert();
bCoord = m.transformPoint(aCoord);
看起来有点verbous,由于反转的真正愚蠢的签名,但当剪辑深度嵌套,它应该会更快。
对不起,刚刚重读你的问题。如果你只想找出点击的点,那么你可以用MouseEvent
的stageX
和stageY
做globalToLocal
。
格尔茨
back2dos
打字时我想出了答案。我想我会发布这个问题,以便其他人可以通过搜索找到它。
bCoordinate = b.globalToLocal(a.localToGlobal(localPoint));
不是只变换相对于父虽然矩阵? – 2010-05-12 11:46:03
@ Bart van Heukelom:对。看起来,虽然,你只是想要。 – back2dos 2010-05-12 11:49:23
啊,是的,当然,你是对的。这将允许我解决这个特定的问题。但不能用它在任意坐标空间之间移动。 – 2010-05-12 12:01:22