我有以下问题:
我有一个在组件边界处设置的点, 将变换点更改为组件的中心,以匹配组件旋转。
重要的部分是当我试图在旋转后获得XY点时 - 它们保持与旋转前相同。
答案 0 :(得分:3)
如果您只想要旋转后的点,cos(r) * x, sin(r) * y
是最简单的方法。
如果您希望在所有转换后获得该点,则应该能够使用displayObject.transform.transformPoint(x, y)
。
还有DisplayObject.localToGlobal
。在这种情况下,您可以致电localToGlobal(x, y)
和localToGlobal(0, 0)
并计算差异。
答案 1 :(得分:0)
我完全同意肖恩的回答。但是要添加一些上下文:显示列表中任何对象的x,y位置都相对于它所在的容器。旋转容器不会更改该容器中项目的x,y相对位置。
因此,如果您有一个显示对象的显示对象并且它位于Sprite或MovieClip中,那么容器的任何旋转量都不会改变点DisplayObject的x,y位置。