RectTransform
1.获取UI的宽高常用方法:
float width=GetComponent<RectTransform>().rect.width;
float height=GetComponent<RectTransform>().rect.height;
这里一定要注意,有时候获取到size Delta的值跟宽高的值一样,但是size Delta的值会随锚点的变化改变,不能用来获取UI的真实宽高。
2.设置UI宽高的方法
//x ,y 是要设置的值
GetComponent<RectTransform>().sizeDelta=new Vector2(x,y);
3.不常用的两种模式的介绍,蓝图模式,原始编辑模式。
Canvas
1.Render Model的三种模式
(1)Screen Space-Overlay 始终保持UI元素渲染在3D物体之上。
(2)Screen Space-Camera 可以改变UI的渲染层级,可以把3D物体显示在UI的上层,也可以实现UI的旋转效果。
(3) World Space 可以将画布当成3D物体任意改变位置及大小,可以用来做敌人的血条。
2.Canvas Scaler的三种模式
-
Constant Pixel Size 恒定的像素大小,当屏幕分辨率改变时,UI像素不变。此种模式下UI的适配需要计算出当前屏幕宽高与之前屏幕宽高的一个比值,动态设置给Scale Factor。
-
Scale With Screen Size 随屏幕大小缩放, 最常用的UI适配方法。
-
Constant Physical Size 固定物理大小,随着4k屏的出现,屏幕DPI会很大,许多设备的像素点非常小。同样的按钮,在高DPI下,如果固定像素大小,则会非常小,这时适合用该模式。(不常用,我至今没用过)
3.Graphic Raycaster UI点击响应的组件