unity开发小贴士之五 RectTransform设计下的UI布局方式

市面上的移动游戏UI布局分为两种:
1.全屏铺满
2.小屏居中
两种布局引出两种布局方式 : 相对布局和绝对布局
相对:
Image相对Panel顶部距离20 即Image尺寸跟随Panel尺寸改变 唯一固定的是距离顶部的距离20不变
此种对应全屏铺满的UI,比如返回按钮始终在右上角20像素出。
绝对:
Image位置不随Panel变化
此种布局对应小屏居中 在不同的分辨率上 屏幕变宽变高之后小屏始终居中,到四周边界会随分辨率变化。

UGUI框架下 所有的UI 都在Canvas上 我们制定设计分辨率 960 * 640 长宽比 3:2
大于这个比例的分辨率 以宽为准,低于这个比例的分辨率以高为准

 

 

 

void SetSizeWithCurrentAnchors(RectTransform.Axis axis, float size);按照的当前的pviot信息来设置尺寸。
Image height = 640
SetSizeWithCurrentAnchors(RectTransform.Axis.Vertical,610);
运行后更改对象的高度为610
至于是从上 中 下 哪部份减少30取决于pivot
pivot.y = 0 从上减少30
pivot.y = 1 从下减少30
pivot.y = 0.5 从两端各减少15

void SetInsetAndSizeFromParentEdge(RectTransform.Edge edge, float inset, float size);这个函数可以简单的理解为设置控件相对父控件边的距离以及控件的尺寸,其强大之处在于其完全不管你当前的pviot设置的啥,你的anchor设置的又是啥。
举例:
SetInsetAndSizeFromParentEdge (RectTransform.Edge.Left, 40, 960);
距离父节点左侧40 宽度960

sizeDelta:这个属性表示的就是offsetMax-offsetMin得到的向量,即控件从左下角指向右上角得到的向量。绝对布局下很好用,相对布局时不如所愿,猜测内部重新赋值了。

 

 

 

 

转载于:https://www.cnblogs.com/Hyhom/p/9046046.html

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值