版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/caimouse/article/details/85233785
前面学习了使用GUIStyle来自定义按钮,就可以显示各种各样的按钮了,但是采用这种方式有时候不方便管理整个程序,或者不同游戏之间的按钮。比如你定义了一套公司的游戏风格的界面,想在不同的游戏之间进行使用,这时一个一个地拷贝代码,再去设置属性,是否感觉很傻,对了,还有一个更聪明的办法,就是把所有按钮、文本、滚动条都放到一起管理,这样就很方便在不同项目之间进行共享了,这时就需要使用到GUISkin类,它就是定义一套界面风格的管理器,也方便不同的风格之间进行切换。
下面就来创建GUISkin来管理界面风格,如下:
创建这个GUISkin对象,要从project窗口选择,然后弹了右键菜单,再在菜单里选择GUI Skin,就可以创建,把它命名为SampleSkin,然后设置下面的按钮属性:
最后在摄像机里添加脚本代码,如下:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class SampleGuiskin : MonoBehaviour {
public GUISkin skin;
private Rect btnRect;
int count;
// Use this for initialization
void Start()
{
count = 0;
btnRect = new Rect();
}
// Update is called once per frame
void Update()
{
}
//界面显示
private void OnGUI()
{
btnRect.x = Screen.width / 3;
btnRect.y = Screen.height * 2 / 5;
btnRect.width = Screen.width / 3;
btnRect.height = Screen.height / 5;
if (GUI.Button(btnRect, "深圳改革开放", skin.button))
{
print(count);
count++;
}
}
}
在这里主要定义public GUISkin skin,因此需要在界面选择skin的属性为SampleSkin,如下图:
设置完成之后,就可以点击试运行了,可以看到运行的结果如下:
到这里就学会了使用GUISkin来管理不同界面元素风格,也方便不同游戏之间进行共享风格,也可以让玩家进行个性化的界面选择。