[学习笔记]UGUI复习
1.获取UI宽高的方法,随着锚点的位置变化,用sizeDelta 有时候会出现错误的,使用rect就不会出现这个问题
2.蓝图模式和原始编辑模式
蓝图模式应用于组件的旋转和缩放,启动之后会固定触发边框,有写需求要求按钮的触发范围小于正常的图片范围是可以用到
原始编辑模式,启用之后,手动修改面板上锚点的数据时,图片会根据锚点的位置发生变化,
3.LocalPosition 和 AnchoredPosition 的区别
AnchoredPosition 是自身中心点相对于自身锚点的位置,如果锚点是分开的,锚点的位置是4个锚对角线的交接处,
而LoacalPosition 是自身中心点相对于父对象中心点的位置
4.CanvasGroup
统一修改子物体透明度、点击响应、图形射线的检测
5.UI中图片的单位和像素是什么关系
不严格的来说,一个单位等于一个像素。
严格的来说,图一这里的意思是每一个像素对应100个U3D单位;
图二中,默认每一个U3D单位对应100像素。
所以在默认状态下,经过两次换算,一个U3D单位就是一个像素
6. 左边2D右边3D , pivot 状态下,可以拖拽中心点
7. UI 渲染层级
相机对层级的影响:
① 相机
②Canvas - SortingLayer
③Canvas- Order In Layer
④先后循序
8.RawImage - UV Rect 可以实现帧图片播放
9.mask 为什么不用他,他运用到了模板缓冲区的功能,就是昨天学习的东西,比较耗费性能。
如果非要用可以使用Rect Mask 2D来替代,但这个也是存在一些bug的,所以要自己来写这部分的东西
10.按钮的动画尽量不要使用Animator 来实现(不利于修改),最好直接使用dotween
11.分别是最小高度、优先高度 、灵活高度(按照百分比计算)、和layout group 配合使用,用于子对象上
12.宽高比适配工具 Aspect Ratio Fitter
用于快速适配大小
13.Layout 自适应内容大小 Content Size Fittle
作用 : 子物体自动布局之后,限制容器的大小
可以配合Text 使用
14.Graphic Raycaster 响应带有Graphic类的组件的点击事件
15.事件的实现方式
①脚本继承,添加下面的接口就能有对应的方法
②EventTrigger 手动添加方法 极其不推荐
③代码添加 EventTrigger 组件,代码绑定方法
16.拖拽需要的接口,其中第三个接口被其他三个接口所依赖
把本地坐标改变成世界中的一个点,
可以用IDropHandler 来监听拖拽物体的放下,并且这个脚本也是依赖于IDragHandler,
在放下物体的时候会出现拖拽物体的层级在其他拖拽物体的下方的情况,
并且放下的时候会触发其他物体的放下方法,而解决这个问题的方法,
可以在拖拽物体上动态添加一个Canvas 和GraphicRaycaster ,
并且将SortOrder的 ID修改成更大的值。
17.选中物体的接口,需要添加Selectable 组件
18. 系统按键的接口,滚轮的监听需要鼠标停留在物体上