虽然系统已经提供了许多高级控件,但还是无法满足项目中的一些特殊需求,这时可以通过自定义风格组件来实现。
在创建的“GUI Skin”中的“Inspector”视图中展开“Custom Style”下拉菜单项,然后在“Size”中输入修改自定义风格组件的数量,并为各个组件取名。然后可将各个自定义组件展开进行设置。
示例1:未设置自定义组件
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class ButtonSystem : MonoBehaviour {
public GUISkin mySkin; //自定义皮肤
void OnGUI()
{
GUI.skin = mySkin; //设置GUI皮肤为自定义的皮肤
GUI.Button(new Rect(10, 10, 50, 20),"按钮1");
GUI.Button(new Rect(10, 40, 50, 20), "按钮2");
GUI.Button(new Rect(10, 70, 50, 20), "按钮3");
GUI.Button(new Rect(10, 100, 50, 20), "按钮4");
GUI.Button(new Rect(10, 130, 50, 20), "按钮5");
}
}
运行结果,五个按钮的样式相同:
示例2:设置了自定义组件
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class ButtonSystem : MonoBehaviour {
public GUISkin mySkin; //自定义皮肤
void OnGUI()
{
GUI.skin = mySkin; //设置GUI皮肤为自定义的皮肤
GUI.Button(new Rect(10, 10, 50, 20),"按钮1","Custom1");
GUI.Button(new Rect(10, 40, 50, 20), "按钮2", "Custom2");
GUI.Button(new Rect(10, 70, 50, 20), "按钮3");
GUI.Button(new Rect(10, 100, 50, 20), "按钮4");
GUI.Button(new Rect(10, 130, 50, 20), "按钮5");
}
}
运行结果,“按钮1”和“按钮2”设置了不同的风格,所以显示的风格与其它的不同