Unity GridLayoutGroup动态创建的像元大小问题

问题描述 投票:1回答:1

我想从Prefab填充GridLayoutGroup子项的动态。这是我的GridLayoutGroup设置

enter image description here

这里是我的动态创建单元格的代码

        for (int i = 0; i < formSkins.Count; i++)
        {
            GameObject skinElement = Instantiate(prifabSkinElemet, new Vector3(transform.position.x, transform.position.y, transform.position.z), Quaternion.identity);
            skinElement.transform.SetParent(skinElementParent.transform);
        } 

这就是我得到的结果:

enter image description here

但是当我通过拖放将预制部件(单元)添加到GridLayutGroup元素时,我得到了我想要的东西,而且我期望那样。

enter image description here

有人可以告诉我为什么动态地创建孩子的尺寸时不像我拖放时那样吗?

谢谢

unity3d unity-container unity-ui
1个回答
0
投票

Transform.SetParent

public void SetParent(Transform parent, bool worldPositionStays);

worldPositionStays:如果为true,则修改父相对位置,比例和旋转使物体保持相同的世界空间位置,旋转和像以前一样缩放。

因此,使用transform.SetParent(x, false)将重置其位置,比例和旋转。

© www.soinside.com 2019 - 2024. All rights reserved.