10183人加入学习
(109人评价)
UGUI整体解决方案-基础篇(Unity 2019.1.0f2)

2019-06-01

价格 免费

屏幕适配:

ui缩放模式:

constant pixel size:任何分辨率下pixel都是固定的

 

[展开全文]

一个UI单位 默认 = 100pix

Canvas Scale .scalefactor  = x  可以对ui进行相对比例的suo fang

[展开全文]

float w = Screen.width 屏幕的宽

float h = Screen.height 屏幕的高

[展开全文]

Canvas画布下的Scale Factor属性可以针对当屏幕分辨率发生变化时依然不怎么影响UI适配的位置。是按比例的

void Start () {
        float wScale = Screen.width / 1920.0f;
        float hScale = Screen.height / 1080.0f;

        GetComponent<CanvasScaler>().scaleFactor = wScale;
	}

 

[展开全文]

float int wScale = Screen.width/1920.0f;//获取到宽度放大的比例(1920是假设的实际当中的配置,不能随便写),0f是为了得到float类型的数据要把数据改成小数的形式,否则数据会出现问题

float hScale = Screen.height/1080;高度

//比较两者的大小,需要知道缩放比例变化更大的那一条边,针对变化大或变化小的边缩放,会根据具体的UI显示策略有所不同(这里简单举例,以宽的缩放比例为准)

GetComponent<CanvasScaler>().scaleFactor = wScale;//获取当前的组件(CanvasScaler),以及它的缩放参数scaleFactor等于当前的宽比例wScale(以高缩放比例为准时,用当前高的比例)

这样就能根据它的实际尺寸,来对它所有的元素进行缩放,这样可以最大程度保证它显示你修改的尺后也可以按照正常的比例进行显示。(运行需要过程,不要慌)

所以Scale Factor这个参数可以用于对于整体UI元素按同等比例放大缩小,尽量保证原本元素的显示位置。

缺点:整体UI在不同分辨率的机型上会有一些差别。但影响不大。

[展开全文]

Screen.width//当前的屏幕宽度

Screen.Height //当前屏幕的高度

[展开全文]

利用rectransform中的rect的weigh和high方法来获取控件的尺寸

利用轴心点可以控制一边不动

锚点位置的调整是相对于父物体的

锚点打开和分开可以得到不同的功能

 

[展开全文]

用于检测投向Canvas的射线。
Graphic Raycaster既可以配置忽略背面朝上的图形,也可以被UI元素前的2D和3D对象遮挡。

Ignore Reversed Graphics:忽略颠倒的图形的射线检测,即旋转180°后的图片不会与射线发生交互(检测)
Blocked Objects:会阻挡图形射线的对象类型(2D或(/和)3D对象,需要有collider组件)。
Blocked Mask:会阻挡图形射线的Layer。

[展开全文]

float wScale=Screen.width/1920.0f(这是玩家选择的宽度)

float wScale=Screen.height/1080.0f

GetCompoent<CanvasScaler>().scaleFaactor=wScale;

 

这段代码是关于UI插件和屏幕的自适应

[展开全文]

ScaleFactor = 运行时的屏幕尺寸/制作时的屏幕尺寸

[展开全文]

授课教师

课程特色

视频(61)
下载资料(1)