NGUI的localPosition和Position之间的关系
2015-12-03 10:34
453 查看
假设有子节点为child, 父节点为parent, 且都是Transform类型.
则:
child.localPosition = (child.position - parent.position) * k
k = NGUI高度的一半
解释:
NGUI高度的一半
如果设置的NGUI的高度为720, 那就是*360.
一般做NGUI都是高度固定, K会是一个固定值
如果你做的是宽度固定为W, k可以这样计算出来
k = 0.5f * W * (float)Screen.height / (float)Screen.width;
或者不考虑是高度固定还是宽度固定干脆这样计算:
k = 1.0f / UIRoot.list[0].transform.localScale;
或者是这样:(这一条没有广泛测试)
k = child.worldToLocalMatrix[10] * child.localScale;
其实如果不在NGUI下面的话, child.localposition = child.position - parent.position.
NGUI的不同之处在于它加入了UI像素的概念,让1米变成了几百个像素.我们需要找到这个K值就可以了.
则:
child.localPosition = (child.position - parent.position) * k
k = NGUI高度的一半
解释:
NGUI高度的一半
如果设置的NGUI的高度为720, 那就是*360.
一般做NGUI都是高度固定, K会是一个固定值
如果你做的是宽度固定为W, k可以这样计算出来
k = 0.5f * W * (float)Screen.height / (float)Screen.width;
或者不考虑是高度固定还是宽度固定干脆这样计算:
k = 1.0f / UIRoot.list[0].transform.localScale;
或者是这样:(这一条没有广泛测试)
k = child.worldToLocalMatrix[10] * child.localScale;
其实如果不在NGUI下面的话, child.localposition = child.position - parent.position.
NGUI的不同之处在于它加入了UI像素的概念,让1米变成了几百个像素.我们需要找到这个K值就可以了.
相关文章推荐
- 统计easyui datagrid某列之和显示在对应列下面
- android:clearTaskOnLaunch=true 和android:finishTaskOnLaunch=true的区别
- UILabel的换行问题
- UICollectionView的使用
- UIButton状态
- easyui-messager消息窗口组件
- 设置UIImage的渲染模式
- iOS UISearchBar修改placeholder字体颜色和大小
- Android Volley 之自定义Request
- Android Volley完全解析(三),定制自己的Request
- iOS的UI开发中UITabBarControlle的基本使用教程
- Selenium webdriver-UI Element定位
- Hprose question
- C#中Request.servervariables参数
- torque 安装排错
- Unigui unidbgrid+unidac uniquery联合使用时产生的奇葩问题
- [SoapUI] 通过Groovy Script获取当前运行的是哪套Environment
- leetcode之Range Sum Query 2D - Immutable
- Machine Learning week 9 quiz: Recommender Systems
- 检测到有潜在危险的 Request.Form 值