Unity的UGUI在SetParent后修改UI的localposition问题

匿名 (未验证) 提交于 2019-12-02 23:57:01

正常情况下,UGUI设置UI的localposition可以直接赋值

UIxxx.rectTransform.localPosition = new Vector3(lineLenght[0] / 2f, 0, 0);

运行后在Unity的Inspector面板可以得到正确的()。
但如果

UIxxx.rectTransform.SetParent(GameObx]); UIxxx.rectTransform.localPosition = new Vector3(lineLenght[0] / 2f, 0, 0);

运行后得到的坐标值是错误的。
正确的做法:

UIxxx.rectTransform.SetParent(GameObx]); UIxxx.rectTransform.anchoredPosition= new Vector3(lineLenght[0] / 2f, 0, 0);


通过设置锚点的坐标来设置UI的position。
运行后,在Inspector面板下可以看到正确的Rect Transform。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!