【问题标题】:How to get position of nested object after the rotation of parent object?如何在父对象旋转后获取嵌套对象的位置?
【发布时间】:2016-07-04 17:39:01
【问题描述】:

我有一个由许多小的 MovieClip 对象组成的大 MovieClip 对象。父对象旋转后,嵌套对象的坐标发生变化。但是嵌套对象的 x 和 y 属性保持与父对象旋转之前相同。如何获取更新的坐标?

例如,有一个object 由两个圆圈组成。小圆的局部坐标是-34 0。rotation之后小圆的坐标还是-34 0,但是全局坐标明显变了。有没有办法获取新的全局坐标?

【问题讨论】:

  • 欢迎来到 SO,请在提问时更具体一点:您尝试过什么,您期望什么等。请参阅how to ask

标签: actionscript-3 flash rotation movieclip


【解决方案1】:

是的,这是可能的。最直接的方法是使用localToGLobal函数

在你的例子中 as3 看起来像:

//converts local (0, 0) of innerMc to global (stage) coordinates system 
var point:Point = innerMc.localToGlobal(new Point(0, 0));

//another way (for better understanding) - converts innerMc 
//coordinates in outerMc system (in your case it's (-34, 0)
var point2:Point = outerMc.localToGlobal(new Point(innerMc.x, innerMc.y));

这两个选项都会给你同样的结果。

【讨论】:

  • 我不相信 localToGlobal 会考虑轮换。虽然我已经很久没有使用它了,但我不记得了。
  • 你不能肯定,但localToGlobal 总是计算任何父母的任何转变:)
猜你喜欢
  • 2012-06-27
  • 2012-11-12
  • 1970-01-01
  • 2014-05-07
  • 2022-10-19
  • 1970-01-01
  • 2019-07-22
  • 2020-03-20
  • 1970-01-01
相关资源
最近更新 更多