首页 > 其他分享 >使用offsetMin和offsetMax来控制UGUI节点的坐标

使用offsetMin和offsetMax来控制UGUI节点的坐标

时间:2022-11-26 00:44:48浏览次数:50  
标签:offsetMax 缩放 Image anchorMin UGUI offsetMin parentWidth

首先需要理解anchorMin, anchorMax

anchorMin.x为0.1就是:与parent左边相距10%宽度位置,即图中的left
anchorMin.y为0.2就是:与parent下边相距20%高度的位置,即图中的bottom

anchorMax.x为0.7就是:与parent左边相距70%宽度的位置,即图中的right
anchorMin.y为0.2就是:与parent下边相距20%高度的位置,即图中的top

 

offsetMin, offsetMax

offsetMin.x

offsetMin.y

offsetMax.x

offsetMax.y

 

 

根据边距求出offsetMin, offsetMax

1) Image的左边与parent的左边距=图中红色矩形的宽度+offsetMin.x=anchorMin.x * parentWidth + offsetMin.x

offsetMin.x = 左边距 - anchorMin.x * parentWidth

2) Image如果存在缩放,pivot也修改了,则

缩放后Image的左边与parent的左边距=图中两个红色矩形的宽度+offsetMin.x=anchorMin.x * parentWidth + Image缩放前宽度 * pivot.x * (1-scale.x) + offsetMin.x

offsetMin.x = 左边距 - anchorMin.x * parentWidth - Image缩放前宽度 * pivot.x * (1-scale.x)

 

3) 根据下图的关系可以知道:左边距+Image缩放前宽度+offsetMax.x+(1-anchorMax.x)*parentWidth正好是parentWidth

所以,offsetMax.x = parentWidth - 左边距 - Image缩放前宽度 - (1-anchorMax.x)*parentWidth = - 左边距 - Image缩放前宽度 + anchorMax.x * parentWidth

 

4) 上边距+Image缩放前高度+offsetMin.y+anchorMin.y*parentHeight正好是parentHeight

offsetMin.y = parentHeight - 上边距 - Image缩放前高度 - anchorMin.y*parentHeight

 

5) 缩放后Image的上边与parent的上边距=图中两个红色矩形的高度+offsetMax.y=(1 - anchorMax.y) * parentHeight + offsetMax.y + Image缩放前高度 * (1-pivot.y) * (1-scale.y)

offsetMax.y = 上边距 - (1 - anchorMax.y) * parentHeight - Image缩放前高度 * (1-pivot.y) * (1-scale.y)

 

标签:offsetMax,缩放,Image,anchorMin,UGUI,offsetMin,parentWidth
From: https://www.cnblogs.com/sailJs/p/16856350.html

相关文章

  • 【SHADER系列】(一)UGUI毛玻璃效果
    旧版内建渲染管线下的毛玻璃模糊效果:实现原理很简单,就是利用Unity的GrabPass来抓取当前屏幕渲染的图像,然后进行一个Blur高斯模糊算法。为了效果更好,可以分别进行横竖模糊......
  • UGUI 3D粒子特效裁剪,层级,适配
    Unity里默认的粒子特效是3D渲染方式的,而UGUI又是特殊的渲染方式。如果想在UI里直接放入粒子特效,会导致:分层问题,粒子特效的层级排序由Z轴以及sortlayer决定,而UI的层级排......
  • 检测ugui预制体中Text上的中文
    界面需要做国际化的时候,一般不会在Text组件上使用中文,而是使用id或者key来代替,这个代码用于检测直接写了中文的Text  #ifUNITY_EDITORusingSystem.Text;using......
  • unity3d:ugui 每个字间隔间距
    usingUnityEngine;usingSystem.Collections;usingUnityEngine.UI;usingSystem;usingSystem.Collections.Generic;publicclassLine{privateint_startVertexInde......
  • UGUI
    ImageSimple常用简单模式Sliced九宫格模式Tiled瓦片模式Filled填充模式Sliced九宫格模式选中图片。点击SpriteEditor打开精灵体编辑器(版本高的需要先到Win......
  • Unity UGUI
    一个UI控件是由多个组件组成的,每一个组件都是一个类TEXT(文本控件)Font:字体可以更改显示的字体样式也可以导入外部字体样式FontStyle:字体风格Normal正常默认风格......
  • Unity UGUI Text 添加下划线及超链接文本点击
    usingSystem;usingSystem.Collections.Generic;usingSystem.Text;usingSystem.Text.RegularExpressions;usingUnityEngine;usingUnityEngine.Events;usingUn......