游戏制作之路(32)创建自定义的界面样式管理

栏目: 后端 · 发布时间: 7年前

内容简介:创建这个GUISkin对象,要从project窗口选择,然后弹了右键菜单,再在菜单里选择GUI Skin,就可以创建,把它命名为SampleSkin,然后设置下面的按钮属性:最后在摄像机里添加脚本代码,如下:

前面学习了使用GUIStyle来自定义按钮,就可以显示各种各样的按钮了,但是采用这种方式有时候不方便管理整个程序,或者不同游戏之间的按钮。比如你定义了一套公司的游戏风格的界面,想在不同的游戏之间进行使用,这时一个一个地拷贝代码,再去设置属性,是否感觉很傻,对了,还有一个更聪明的办法,就是把所有按钮、文本、滚动条都放到一起管理,这样就很方便在不同项目之间进行共享了,这时就需要使用到GUISkin类,它就是定义一套界面风格的管理器,也方便不同的风格之间进行切换。

下面就来创建GUISkin来管理界面风格,如下:

游戏制作之路(32)创建自定义的界面样式管理

创建这个GUISkin对象,要从project窗口选择,然后弹了右键菜单,再在菜单里选择GUI Skin,就可以创建,把它命名为SampleSkin,然后设置下面的按钮属性:

游戏制作之路(32)创建自定义的界面样式管理

最后在摄像机里添加脚本代码,如下:

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,如下图:

游戏制作之路(32)创建自定义的界面样式管理

设置完成之后,就可以点击试运行了,可以看到运行的结果如下:

游戏制作之路(32)创建自定义的界面样式管理

到这里就学会了使用GUISkin来管理不同界面元素风格,也方便不同游戏之间进行共享风格,也可以让玩家进行个性化的界面选择。

https://blog.csdn.net/caimouse/article/details/51749579


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

500 Lines or Less

500 Lines or Less

Amy Brown、Michael DiBernardo / 2016-6-28 / USD 35.00

This book provides you with the chance to study how 26 experienced programmers think when they are building something new. The programs you will read about in this book were all written from scratch t......一起来看看 《500 Lines or Less》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

html转js在线工具
html转js在线工具

html转js在线工具