UGUI定位的突然顿悟

前提
  • 就是突然理解了UGUI锚点的各种事情
  • 以前都是在跟着做,但是不理解其中原理
  • 需要锚点定位,是因为画布尺寸发生改变
  • 一般只有适配全屏的图片会发生尺寸改变,以他为父物体的就需要锚点。但是其它都不需要
  • 用expand可以保证图像全部在内部。shrink会让图像被裁切

全屏

  • unity在打包时候有一个输出选项,是否全屏

  • 如果你选择了,在打开程序时就会自动全屏

  • 那么UGUI做了什么呢,看下图
    在这里插入图片描述

  • 我一直以为ugui并没有改变画布的宽高,只是等比缩放。但实际上,你可以看到,他直接把高度拉伸变成960,再进行缩放

  • 按照我的思考模式,如果只是进行缩放,根本没有必要进行锚点定位。所有的物体等比缩放就是了

  • 既然改变了尺寸,就需要锚点定位了,锚点定位的意思就是,物体的四个顶点相对锚点的距离不变。你可以设定这四个锚点在父物体上的位置。这样父物体发生尺寸改变的时候,子物体的位置也发生变化
    在这里插入图片描述

  • 所以UGUI的操作是这样的,先改变canvas的尺寸,再进行缩放。

扩展还是收缩
  • 当前设备屏幕的宽高比和目标宽高比
  • screen.x/target.x 和screen.y/target.y
  • 取他们中比例较小的那个作为缩放比例,这样就会导致扩展,不会让UI全部挤在一起。
  • 举例来说
目标比例1280*720
现在设备比例是800*600
 800/1280=0.625
 600/720=0.833
 选择最小的缩放比例,0.625
 这时候高度720*0.625 = 450,很明显小于450
 所以需要改变高度尺寸为960,属于是扩展了。
 但是你选择比较大的那个缩放比例0.833,
 这时候就会改小宽度的尺寸为960*0.833 = 800
  • 如果画布的尺寸缩小了,就可能导致UI挤压在一块
    在这里插入图片描述

  • 在目标分辨率下很挤的两个UI

  • 如果画布缩小,就会导致UI挤在一块

  • 在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值