父元素在运行时更改位置时,UI元素的子元素不会更改localPostion

时间:2017-09-25 14:17:25

标签: unity3d unity5

我正在使用Unity UI。

我有一个父母,其中包括一个图像和一个儿童图像 - 当然都在画布内。

我正在使用子图像位置从父母那里产生敌人。

当我在运行时移动父图像并查看检查员时,我希望看到孩子的位置也随父母一起移动(所以它会在正确的位置产生敌人),但事实并非如此。

子图像确实在场景视图中与父项一起移动,但子项的RectTransform的LocalPostion不会随父项一起变化,因此我无法在正确的位置生成。

我想我错过了什么......

1 个答案:

答案 0 :(得分:2)

场景中任何元素的本地位置都与其父元素的位置有关,即本地"本地"装置

元素的最终世界位置是其相对于父母世界位置的本地位置。

假设不涉及旋转/缩放,则世界位置定义为:

transform.position = transform.parent.position + transform.localPosition

所以你所看到的是预期的结果。