1、GUI.backgroundColor 背景颜色
1、理解:全局染色由GUI渲染的所有背景元素,得到乘以颜色。
2、代码:
void OnGUI()
{
GUI.backgroundColor = Color.green;
GUI.Button(new Rect(10,110,70,30),"Botton");
}
3、显示效果:
2、GUI.changed 判断改变
1、理解:返回true,如果任何控件改变了输入数据的值。
2、代码:
string str= "修改我试试";
void OnGUI()
{
//绘制一个文本字段,当被修改的时候打印消息
str = GUI.TextField (new Rect (10, 10, 200, 20), str, 25);
if (GUI.changed)
//当你修改的时候,文本的时候出现这个信息。
Debug.Log("文本字段被修改");
}
3、显示效果
未修改之前效果,不会打印“文本字段被修改”
修改之后的效果,打印了“文本字段被修改”
3、GUI.color 颜色
1、理解:全局GUI染色,将影响背景和文本颜色。
2、代码:
void OnGUI()
{
//用黄色染色所有GUI元素
GUI.color = Color.yellow;
GUI.Label(new Rect(10, 10, 100, 20), "Hello World!");
GUI.Box(new Rect(10, 50, 50, 50), "A BOX");
GUI.Button(new Rect(10, 110, 70, 30), "A button");
}
3、显示效果
4、GUI.contentColor 内容颜色
1、理解:全局染色由GUI渲染的所有文本,得到乘以颜色。
2、代码:
void OnGUI()
{
GUI.contentColor = Color.yellow;
GUI.Button(new Rect(512,360,70,30),"Button");
}
3、显示效果
5、GUI.depth 深度
1、理解:当前执行的GUI行为的深度排序,当你有不同的脚本同时运行,设置这个值来确定排序。注意:0是最高层
2、代码:
using UnityEngine;
using System.Collections;
public class example1: MonoBehaviour
{
public static int num = 1;
public static Color color = Color.yellow;
void OnGUI()
{
GUI.contentColor = color;
GUI.depth = num;
if (GUI.RepeatButton(new Rect(0, 0, 100, 100), "GoBack"))
{
num = 1;
example2.num = 0;
color = Color.yellow;
example2.color = Color.red;
}
}
}
using UnityEngine;
using System.Collections;
public class example2 : MonoBehaviour
{
public static int num = 0;
public static Color color = Color.red;
void OnGUI()
{
GUI.contentColor = color;
if (GUI.RepeatButton(new Rect(50, 50, 100, 100), "GoBack"))
{
num = 1;
example1.num = 0;
color = Color.yellow;
example1.color = Color.red;
}
}
}
3、显示效果:
6、GUI.enabled 是否启用?
1、理解:
判断GUI是否启用了。
设置为false 禁用所用GUI互动,所有控件将被绘制半透明, 但可以用代码控制输入。
2、代码:
using UnityEngine;
using System.Collections;
public class Test : MonoBehaviour {
string str = "修改我试试";
void OnGUI()
{
GUI.enabled = false;
//绘制一个文本字段,当被修改的时候打印消息
str = GUI.TextField(new Rect(10, 10, 200, 20), str, 25);
if (Input.GetKeyDown(KeyCode.A))
{
str = "我修改了";
}
if (GUI.changed)
//当你修改的时候,文本的时候出现这个信息。
Debug.Log("文本字段被修改");
}
}
3、显示效果:
改为fale之前效果 :可以和用户交互
改为fale之后效果:和用户不可交互