将小图片合并为图集:将每个小图片的Packing tag中的 标签调为相同,然后在Window窗口中找到Sprite Packer选项 选定好标签后用Appake合并

↓↓↓↓↓↓↓↓↓↓↓↓↓↓在事件中添加委托的方法写在Start方法中执行↓↓↓↓↓↓↓↓↓↓↓↓↓↓

Image 消息框

Rect Transform
花瓣打开前
Pos X Pos Y Pos Z文本相对于花瓣的位置
Right Height 文本大小(大小为一半)
花瓣打开后
Left 图片相对于左花瓣的偏移度(0为移动到左花瓣)
Right 改变图片大小(数值和大小成反比)(始终靠向目标位置,Left为0就始终靠向左边)

Anchors花瓣的锚点
通过数值调节花瓣的位置
Pivot 图片的中心在花瓣的那个位置

代码部分

rectTransform.anchoredPosition锚点集中时返回Pos X 和 Pos Y|||锚点分开时返回文本相对于四个分开的锚点的中心点的偏移量

rectTransform.anchorMax和anchorMin锚点集中时返回锚点的位置|||锚点分开时返回没个锚点的位置(MinX和MaxX分别是左右两个由上下锚点连接的虚线的坐标MinY表示下方虚线距矩阵下方的距离MaxY表示上方虚线距矩阵下方的距离)

rectTransform.offsetMax和offsetMin锚点集中时offsetMax返回文本右上角相对于锚点的位置,offsetMin返回文本左下角相对于锚点的位置|||offsetMax返回文本外边相对于锚点组成的矩形右边和上边的值,offsetMin返回相对左边和下边的值

rectTransform.pivot返回文本的中心点位置

rectTransform.rect返回四个值,第一个是文本左边距中心点的位置,第二个是下边距中心点的位置,第三四个是文本的大小。

rectTransform.sizeDelta锚点集中时返回物体的大小|||锚点分开时返回文本相对于锚点组成的矩阵的超出范围(与位置无关,只与大小有关)(返回两个值,第一个值是水平超出多少,负数为小于矩阵多少,第二个值为垂直超出多少,负数为小于矩阵多少)

-------------画布---------------

Canvas 属性
Render Mode-Screen Space Overlay改变UI的渲染模式,可以在没有摄像机情况下进行渲染
Pixel Perfect(勾选后图片锯齿)(是否使你的图像保持原有像素1980*1860?) 强制画布中的元素与像素对齐(启用pixelPerfect可以使元素更清晰并防止模糊。但是,如果许多元素被缩放或旋转,或者使用细微的动画位置或缩放,禁用pixelPerfect可能会更为有利,因为移动会更平滑。)
Sort Order 画布的渲染顺讯,数字大的覆盖数字小的
Target Display 投影到哪个屏幕上
Additional Shader Channels 法线贴图

Render Mode-Render Mode Screen Space Camera
Plane Distance 画布距离相机的距离(无论远近自动适应屏幕比例)
Rander Camera 根据哪个摄像机进行渲染
Order Layer 层级 (大的覆盖小的)
Additional Shader Channels 法线贴图

Canvas Scaler(Script)控制画布和UI的缩放比例
UI Scale Mode-Constant Pixel Size根据画布大小进行缩放
Scale Factor 根据这个值缩放画布中所有元素(值越大UI大小越大)
Reference Pixels Per一个单位代表多少像素(理论上值越大图像越精细)
UI Scale Mode-Scale With Screen Size 根据屏幕的大小进行放大
Reference Resolution 设定目标屏幕的分辨率长宽比例
Screen Match Mode-Match Width Or Height 根据设定的长宽比例与自身屏幕长宽进行缩放
Match 根据长或宽缩放(多为0.5,0为只根据长度缩放,1为根据高度缩放)
Screen Match Mode-Expand改变Reference Resolution属性为画布最小的像素(屏幕像素尽可能低时,画布大小的最小值,设定为Shrink则为最大值)

Graphic Raycaster 射线检测

Ignore Reversed Graphics在物体180度翻转后点击是否生效

Blocking Objects (Mask)设置可以遮住可互动UI的物体类型(层级)
-------------Image-----------------

Image Type - Simple 正常图片类型
Image Type - Sliced 边框类型(单纯拉伸图片内部的某个部分,被拉伸的部分在图片中的Sprite Editor属性中设置)
Image Type - Tiled 平铺(将小图像平均铺满整个文本框)
Image Type - Filled 将图片填充文本位置
Fill Method 裁剪模式(水平竖直或360)
Fill Origin 裁剪方向,根据模式有所不同。
Fill Amount 裁剪的数值
Preserve Aspect 是否保持图片本身比例
Set Native Size 使文本大小适应图片比例。

---------------Image代码----------

引用数据库using UnityEngish.UI

fillAmount 改变填充模式的进度条(最大值为1)(百分比隐藏物体)

Amage中的属性根据名字可以在代码中找到

sprite Image中显示的图片

------------UI代码部分----------------
引用数据库 UnityEngine.EventSystems

在调用UI代码时将继承MonoBehaviour类改为继承EvenTrigger类

可以调用EvenTrigger类里的方法,每种方法都有自身生效的条件(点击,拖动,悬浮),在定义好生效条件的方法中编写逻辑。

PointerEventData 类中常见的方法或返回值:
返回值 :
button 将你的物体等分成三份,然后记录你点击的是左中右
pressPosition 单击的位置(与花瓣的偏移位置)
clickCount 点击的次数(短时间内)
clickTime 运行的时间
delta 鼠标根据上一帧的偏移量
dragging 是否正在拖动
eligibleForClick 成功点击时为true (满足点击函数)
enterCamera 通过摄像机进行渲染时返回渲染当前UI的摄像机
lastPress 上一次点击的物体(第一次点击返回空)
position 在世界坐标位置
scollDelta 滚动视图的偏移度

--------------Text-----------------
Line Spacing 文本间距
Rich Text 赋予标签效果
标签:<color = #008080ff>name</color>将标签内容中的name变色为008080ff颜色(可以在双重或三重标签生效同一句)
Aignment 对齐方式
Horizontal overflow 横向是否超出框体
Vertal overflow 纵向是否超出框体
Aligb By Geometr 是否填充顶部
Best fit 勾选后(适应屏幕)强制显示所有文本,不勾选则尽量显示
-------------代码------------------

text.prwferredHeight,text.preeferredWidth    文本中文字的长度和文字的高度(和文本框的大小没有关系)

--------------Raw Image-------------
Texture 可获得正常图片格式
UV Rect UV动画 可将图片在格子内移动并填充全部,左往右填充,下往上(参照街边一块板子上可以切换两张图片?)
------------Inputfield-------------

Inputfield下包含两个子物体,第一个子物体中Text保存的值是在用户未输入文本时默认显示的字符,第二个Text保存的值为用户输入的字符(可调节)

Input Field属性
Interactable 不勾选则框体无效
Transition 文本的状态:
none 无
Color Tint 切换颜色模式
Target Graaphic 用于交互的组件(多为自身)
Normal Color 正常颜色
Highlighted 鼠标悬浮颜色
Press Color 鼠标按下颜色(单纯在未激活时第一次点击生效,点击时移除颜色移除)
Disabled Clor 无效颜色(Interactable不勾选)
Color Multplier 改变颜色框的深浅程度(颜色框的颜色必须有基础的虚色(RGB后的第四项值))
FadeDuration 颜色渐变(参数为渐变时间,越大渐变越慢)
Sprite Swap 切换图片模式

根据上述属性情况切换图片

Animation 切换动画格式

Navigation 手柄按钮导航网格(Xbox,PS4,NS系列)
Text Component 将输入进的文本传入进那个Text属性
Text  文本内的内容
Character Limit 可输入字符数量的最大限制
Content Type 可输入字符的样式(只能数字或只能字母或*号隐蔽输入值)
Line Type 文本的行数:
Single Line 单行
Multi Line Submit 系统自动换行
Multi Line Newline 自动并手动换行
Placeholder 文本中不输入默认显示字符
Caret Blink Rate 字符位置标识符的闪烁速度
Caret Width 字符位置标识符的粗细
Custom Care Color 字符位置标识符的颜色(勾选后调节颜色)
Selection Color 选中文字时的底色
Hide Mobile Input 隐藏手机端的键盘(雾)
Read Only 勾选变为只读
--------------代码部分--------------
InputField
可以根据面板中的参数在代码中找到并赋值
text 返回用户输入的内容
Input.onEndEdit.AddListener(委托);onEndEdit方法传入一个函数,函数类型为void(委托),并通过AddListener方法将委托添加到事件中并执行。
inputField.onValidateInput =委托(在文本内容添加时执行委托)
将委托赋予当前值,委托返回一个char类型的值,委托具有三个参数,string 之前所有字符,int当前输入的位置,char 当前输入字符。
inputField.onValidateChanged.AddListener(委托) 传入一个委托,委托方法无返回值只有一个参数string,返回值接收用户输入的值,在用户每次改变文本中的内容时调用。

--------------Button代码----------------

Button.onClick.AddListeaer(委托) 无返回值无参数的方法,鼠标点击时调用

--------------Toggle--------------

Is On 是否处于勾选状态
Toggle Transition 缓慢的使对勾出现
Graphic 目标图片替换对勾
Group 引入一个Toggle Group属性

Toggle Group属性绑定在一个空物体中,控制多个Toggle点选框中只有一个能够生效,在每个Group中都引入相同的Toggle Group即可。Allow Switch Off属性可以使点选框们可以每个都处于未勾选状态
------------代码部分-------------

ison 返回你的按钮是否被点击

Toggle.OnValueChanged.AddListeaer(委托)  无参数无返回值的委托,点击时使用。

ToggleGroup.ActiveToggles()迭代器,找到多个点选框中那个处于选中状态

-----------Silder滑动条-------------

Fill Rect 拉伸的图像
Handle Rect 圆盘的图像
Direction 拉伸的方向
Min Max Value 最大最小值
Whole Numbers 勾选后每次移动返回的是整数
Value当前进度条上的值

--------------代码部分-------------

value 返回当前进度条上的值

Slider.onValueChanger.AddListener(委托)引用一个没有返回值具有一个float类型参数的委托,在每次进度条发生改变时执行

--------Scrollbar方块滚动条--------

Size    滚动块的大小
Number Of Strps 每一次拖动的距离(分段拖动)
-------------代码部分---------------

Scrollbar.onValueChanged.AddListener(委托)引用一个没有返回值具有一个float类型参数的委托,每次进度条发生改变时执行
Scrollbar.value 进度条上的值

---------Dropdown下拉菜单---------

Template 下拉列表(鼠标单击下拉列表复制的对象)(不要动)
Caption Text 文本框的内容(底图文本)
Caption Image 文本框获得的底图(被改变)(通常为自身)
Item Text 选项的名字(被赋值,通常不动)
Item Image 一般为Item Background(使下拉菜单的底图为自己设置的底图)
Value 记录选择的是第几个选项(第一个为0)
Options 添加新的选项

--------------代码部分---------------

Option.value 索引值(现在选中的是第几个)
Option onValueChanged.AddListener(委托)引用一个没有返回值有一个float类型参数的委托,在选项被改变的时候调用。

Dro.options[Dro.value].text 返回现在选中的选项的名字

Mask组件 裁剪 添加到Image中可以裁剪Amage的子物体

---------------Scroll View滚动视图------------

Content 滚动视图的范围
Horizontal 横向拖动
Vertical 纵向拖动
Movement Type 鼠标拖动模式
Elastic 弹性 使鼠标拖拽具有一定惯性
Elasticty 弹性的大小(反比)
Unrestricted 不对超出裁剪范围进行限制
Clamped 无法超出边界(完全无法)
Viewport 底图
Content 拖动视图的范围
注:在Content下创建拖动视图内的物体
Inertia 惯性
Deceleration Rate惯性的大小
Scroll Sensitvity 滑轮速度
Viewport 保持默认
Horizontal(Vertica) Scrollber 横向(纵向)滚动条的物体
-------------代码部分---------------

Content返回文本框的大小RectTransform(雾)
Content.rect 返回滚动视图的视图大小
onValieChanged.AddListener委托 传入一个没有返回值,有一个Vector2类型的参数,在每次拖动时进行执行,返回当前视图在图像上的位置(最下面为0,最上面为1,最左为0,最右为1)
normalizedPosition 与上面相同,返回当前视图在图像上的位置(最下面为0,最上面为1,最左为0,最右为1)

------------EventSystem事件系统-------

First Selected 按钮导航,用不上
Send Navigation Eve XBOX允许导航
Drag Threshold 数值判定滑动效果(数值越大需要滑动越快才能生效,越小则慢慢拖动也生效)

手柄按键
Navigation 设置UI之间的连接(多为按钮) 可以设定水平垂直 并用相应的按键进行切换(按钮1在按钮2左边,设置横向,则用AD进行切换)
Horizontal Axis手柄左右滑动的切换
Vertical Axis手柄上下滑动的切换
Submit Button手柄○和另一个(口?)的切换
Cancel Button手柄×和另一个(△?)的切换
InoutActionsPer Second限制每秒输入次数最大限制(KDA?)
Repeat Delahy在连续多次点击时生效的延迟(1秒连点100下可以设定10秒实行完,值为0.1)
Force Module Active允许在移动设备上的单机设备输入(强制手柄游戏?)?

-----------Canvas Group画布的组----------
Alpha 透明通道(0为透明)
Interactable 所有子集关闭鼠标事件
Block Raycast 射线检测(勾选时检测)
Ignore Parent Group勾选后不收父集的Canvas Group影响
---------Layout Element自动布局------
Ipnore Layout 忽略父集的布局

--------Horizontal Layout Group横向布局-----------
Padding 偏移度 (上下左右)
Spacing 间隔长度
Child Alignment left左往右 Center中间
right右 Upper 上 Middle中 
Control Child Size 自动控制子集图片大小
Child Force Expand 强迫子集时刻全部填充父物体
----------Layout Element-----------
组件只能在父物体有横向或纵向布局时才能使用然后在子物体中添加才能生效
Min 最小长度(高度)
Preferred 最优(大)长度(高度)
Flexible 物体在父物体剩余空间中填充的百分比(勾选这项属性的物体都会参与到计算中,如果两个物体想三七分填满就是一个值为3一个值为7,三个物体就是  4 4 2,也可以十几个子物体和为100,每个就是占有各自的百分比)
------------Grid Layouy Group横纵排列------------
Padding 偏移量
Cell Size 子物体的大小
Spacing 行和列的间隔
Spart Corner 从哪个位置开始排布
Start Axis 开始为纵向或横向
Child Alignment 设定子物体最贴近的位置
Constraint 限制行和列(Row为限制行,Column为限制列Flexible为不限制)
-----------Content Size Fitter------
Horizontal(Vertical) Fit 使用子物体的最小或最优值。
-----------Aspect Ratio Fitter-------
Aspect Mode 比值方式(宽比高,高比宽)
Aspet Ratio Mode设定的比值
------------屏幕转UI坐标------------
RectTransformUtility类中的方法
RectangleContainsScreenPoint(RectTransform rect, Vector2 screenPoint)两个参数,第一个是屏幕上物体的Recttransform,第二个是鼠标的位置Input.Mouseposition,在渲染模式是相机渲染的时候可以重载引用第三个参数,Camera.main 引用一个相机
 ScreenPointToLocalPointInRectangle(RectTransform rect, Vector2 screenPoint, Camera cam, out Vector2 localPoint);将屏幕坐标系转换为UI坐标系,第一个参数传入的是转换时参考的坐标系(取锚点),第二个参数传入的是屏幕的某个位置(多为鼠标位置),第三个参数(可没有)传入UI相机,第四个返回一个转换完成的坐标值。
ScreenPointToWorldPointInRectangle(RectTransform rect, Vector2 screenPoint, Camera cam, out Vector3 worldPoint);屏幕坐标转化为世界坐标,第一个参数是画布中任意一个UI(也可以是画布),第二个参数是要传入的屏幕坐标(鼠标),第三个是渲染的相机,第四个值返回转换完成的世界坐标。
WorldToScreenPoint(Camera cam, Vector3 worldPoint);世界坐标转换为屏幕坐标,两个参数分别是相机和被转换的世界坐标,返回值为转换完成的屏幕坐标。

Button.onClick.AddListener(delegate{xxxxxxxx})  非静态方法   在点击按钮后调用的方法,delegate中可以自己写逻辑,也可以调用别的类中的方法
Toggle.onValueChanged.AddListener(delegate{xxxxxxxx}) 非静态方法  与按钮相同,每次勾选或取消时调用一次
InputField.onEndEdit.AddListener(delegate {xxxxxxxx})非静态方法   同上   每次输入结束调用

Unity学习笔记:UGUI相关知识相关推荐

  1. 好记性不如烂笔头-linux学习笔记4apache相关知识

    好记性不如烂笔头-linux学习笔记4apache相关知识 apache 启动有2种模式 1是prefork模式,每个进程对应一个线程,如果是比较稳定的平台,那么prefork模式是worker模式 ...

  2. 木木的Unity学习笔记(一)—— 重写UGUI Editor(Button举例)

    木木的Unity学习笔记(一)-- 重写UGUI Editor(Button举例) 昨天聊天的时候,有一位道友说自己无论是对字段进行公有化处理还是加上SerializeField标签都无法把自己的字段 ...

  3. 【Unity学习笔记】[Unity中文课堂教程] C#中级编程代码

    [Unity学习笔记][Unity中文课堂教程] C#中级编程代码 最近想补一补C#基础,Unity官方的C#中级编程教程质量很高,于是开个帖子把跟着敲+记录了部分价讲解和我自己的理解的代码存在这 原 ...

  4. 【Unity学习笔记】b站Unity架构课Unity3D 商业化的网络游戏架构(高级/主程级别)

    [Unity学习笔记]b站Unity架构课Unity3D 商业化的网络游戏架构(高级/主程级别) 自己跟着学完了,写了不少代码,会放在CSDN代码库,因为老师并没有提供源码,录屏也不是完全连续,所以难 ...

  5. php基础教学笔记,php学习笔记:基础知识

    php学习笔记:基础知识 2.每行结尾不允许有多余的空格 3.确保文件的命名和调用大小写一致,是由于类Unix系统上面,对大小写是敏感的 4.方法名只允许由字母组成,下划线是不允许的,首字母要小写,其 ...

  6. Unity学习笔记(4)-----粒子效果的实现

    Unity学习笔记(4)-–粒子效果的实现 一.效果展示 下面用若干张张动图展示效果: 大概就是这样,并不是很难. 实际效果要比图中的好一点(顺畅得多). 实现步骤 大致可以分为如下几个步骤,然后逐个 ...

  7. 【学习笔记--FMCW基础知识】

    学习笔记--FMCW基础知识 前言 mmWave测距原理 mmWave区分多个物体 mmWave的距离分辨率(Range Solution) mmWave的最大测量距离 前言 由于工作原因需要了解TI ...

  8. unity学习笔记-text文本识别html富文本(待改进)

    unity学习笔记 text文本识别html富文本(待改进) 需求 逻辑 实现 xlua的安装 配置到unity 使用 改进优化(待改进) text文本识别html富文本(待改进) 需求 项目里需要将 ...

  9. HTML5学习笔记 —— JavaScript基础知识

    HTML5学习笔记 -- JavaScript基础知识 标签: html5javascriptweb前端 2017-05-11 21:51 883人阅读 评论(0) 收藏 举报 分类: JavaScr ...

  10. unity学习笔记2-卡牌游戏的制作

    unity学习笔记2 需求:制作卡牌游戏 第一步,建立card类,carddatabase类 card类删除自带的start和update方法,因为只是个对象类,负责装载对象即可 carddataba ...

最新文章

  1. 我艹,MySQL数据量大时,delete操作无法命中索引。
  2. idea使用MybatisCodeHelperPro逆向生成(亲测)
  3. 学习C++和编程的50个观点
  4. themleft模板库_Thymeleaf模板引擎常用总结
  5. Java Socket编程----通信是这样炼成的
  6. android如何实现QQ信息通知,android NotificationListenerService监听通知栏(qq 微信 短信)...
  7. C++数据与我们转移过空间之后
  8. es6 嵌套数组循环_ES6 常用数组循环
  9. html百度地图秘钥,自己网页调用百度地图API 附API密钥
  10. HDU 1711 Number Sequence (KMP)
  11. 2021年9月计算机二级Office电脑版刷题软件(真题题库)分享
  12. 高德地图api中的adcode城市编码
  13. MapGIS入门教程——基础操作
  14. 梦幻手游登录显示服务器爆满,梦幻西游手游服务器爆满怎么办
  15. 动感歌词制作与转换工具
  16. Cadence OrCAD Capture原理图检查之逐个元件Part检查的方法
  17. 【小5聊】纯javascript实现图片放大镜效果
  18. Android 程序保活,锁机代码
  19. 计算机没有打字键盘显示不出来,键盘打不出字怎么回事
  20. 聚类kmeans案例

热门文章

  1. java多选_java单选换多选
  2. redis分布式锁实现与思考,阿里P8架构师的Java大厂面试题总结
  3. 【openbmc添加fru信息通过ipmitool命令读取】【后续】
  4. 期权激励是股权激励吗?期权激励的现状及期权激励预留比例分析
  5. 通达信历史期货数据接口源代码是怎样的?
  6. camera调试:serdes camera调试
  7. WebSocket--使用/教程/实例
  8. 粤科软件:依托互联网优势创影院新生态
  9. win10更改user中文换英文名
  10. 介绍一个新鲜玩意 开源的杀毒软件 1