坐标系
示例代码:
效果演示:
控件
示例代码:
效果:
布局(GUILayout)
示例代码:
GUIStyle
使用方法,只需要在脚本里声明GUIStyle变量,那么在Inspector窗口就多了一个样式配置
比如这里我们可以配置按钮的一些图片和字体颜色样式:
效果如下;
皮肤
创建一个皮肤的方法:
创建完皮肤后命名为CustomGUISkin,并且给Button设置样式,如下图:
写代码测试效果:
Inspector里把刚才创建的CustomGUISkin拖到Custom Skin变量上:
效果如图:
事件
Unity可以监听一些事件,比如鼠标的点击事件,键盘的按键等等。
测试代码:
using UnityEngine;
using System.Collections;
[ExecuteInEditMode]
public class EventTest : MonoBehaviour {
Rect rect = new Rect(300, 300, 300, 300);
void OnGUI()
{
Event evt = Event.current;
if (evt.type == EventType.mouseDown && evt.button == 0) //如果鼠标左键点下
{
if (rect.Contains(evt.mousePosition)) //判断这个鼠标点击事件是否点击了这个rect区域里
{
Debug.Log(evt.mousePosition.ToString());
evt.Use(); //如果这个事件标记为使用,则Unity监听不到鼠标左键的点击事件了
}
}
//所以此时点击按钮接受不到鼠标左键的消息
if(GUI.Button(new Rect(0,0,500,200), "Button"))
{
Debug.Log("Click!");
}
}
}