UG1L9——GUISkin

本章代码关键字

1
2
3
4
5
GUI.color                //GUI全局着色颜色
GUI.contentColor //文本着色颜色
GUI.backgroundColor //背景着色颜色
GUISkin //可以关联GUISkin文件,赋值给GUI.skin
GUI.skin //设置修改默认的GUI控件样式,即不传入GUIStyle的UI控件的绘制都会有影响

全局颜色

GUI.color​是全局的着色颜色,影响背景和文本颜色,包括对style的影响,可以再该改回去
GUI.contentColor​是文本着色颜色(受到全局着色指令的影响 会与全局颜色做乘法)
GUI.backgroundColor​是背景着色颜色(受到全局着色指令的影响 会与全局颜色做乘法)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
GUIStyle style;

private void OnGUI()
{
//全局的着色颜色 影响背景和文本颜色 包括对style的影响
GUI.color = Color.red;

//文本着色颜色(受到全局着色指令的影响 会与全局颜色做乘法)
GUI.contentColor = Color.yellow;
GUI.Button(new Rect(0, 0, 100, 30), "测试按钮");
//背景着色颜色(受到全局着色指令的影响 会与全局颜色做乘法)
GUI.backgroundColor = Color.red;
GUI.Label(new Rect(0, 50, 100, 30), "测试按钮", style);
//全局的着色颜色可以再改回去
GUI.color = Color.white;
GUI.Button(new Rect(0, 100, 100, 30), "测试按钮", style);
}

整体皮肤样式

GUI.skin​可以设置修改默认的GUI控件样式,即不传入GUIStyle​的UI控件的绘制都会有影响

Project窗口右键可以创建GUI Skin文件,它是所有GUI控件的style集合体
该文件可以赋值到GUISkin​变量上,然后GUISkin​变量就可以赋值给GUI.skin​,即可修改默认的GUI控件样式

它可以帮助我们整套的设置自定义样式,相对单个控件设置style要方便一些

image

1
2
3
4
5
6
7
8
9
10
11
public GUISkin skin;

private void OnGUI()
{
//GUISkin格式相当于所有GUI控件的style集合体,设置修改默认的GUI控件样式
GUI.skin = skin; //置空相当于没有设置
GUI.Button(new Rect(0, 0, 100, 30), "测试按钮");

GUI.skin = null; //置空相当于没有设置
GUI.Button(new Rect(0, 0, 100, 30), "测试按钮");
}