码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2019-09-01 16:52:12      阅读:319      评论:0      收藏:0      [点我收藏+]

标签:transform   for   spec   直接   锚点   cal   rect   通过   position   

正常情况下,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。

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

标签:transform   for   spec   直接   锚点   cal   rect   通过   position   

原文地址:https://www.cnblogs.com/Afuness/p/11442545.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!