0

我需要在 Actionscript 3 中获取嵌套 MovieClip 的坐标。

这是上下文:

舞台 > 容器 > MovieClip1 > MovieClip2

我的目标是根据 Container 获取 MovieClip2 的坐标(x 和 y)。我试过 localToGlobal 但它似乎没有按预期工作。

编辑:

这是我在 MovieClip1 的课程中​​尝试过的代码:

var globalPoint:Point = new Point(MovieClip2.x, MovieClip2.y);
globalPoint = Container.localToGlobal(globalPoint);
4

1 回答 1

2

MovieClip2的位置相对于MovieClip1,因此您需要先将其转换MovieClip1为全局点(相对于Stage),然后将该全局点转换为Container的坐标空间:

var clipLocalPoint:Point = new Point(MovieClip2.x, MovieClip2.y);
var globalPoint:Point = MovieClip1.localToGlobal(clipLocalPoint);
var containerLocalPoint:Point = Container.globalToLocal(globalPoint);

更简单地说,您可以通过从的坐标空间转换Point位于 (0, 0)的默认值来获得全局点:MovieClip2

var globalPoint:Point = MovieClip2.localToGlobal(new Point());
var containerLocalPoint:Point = Container.globalToLocal(globalPoint);
于 2013-03-19T23:57:32.860 回答