IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 游戏开发 -> 深入理解Unity GUI图形用户界面 -> 正文阅读

[游戏开发]深入理解Unity GUI图形用户界面

本博客通过脚本实现创建GUI控件、实例化、定位、输出。

一、设置场景

1、File-〉New Scene,创建一个新场景,保存命名为Menu

gui-001

2、主菜单-〉Assets-〉Create-〉C#,创建一个脚本文件,重命名为Menu。

gui-002

3、在Project面板中双击该脚本文件,打开Microsoft Visual Studio编辑环境,输入代码

public class Menu : MonoBehaviour 
 {   void OnGUI()
    {   if (GUI.Button(new Rect(10, 10, 150, 100),"I am a button"))
                     print("You clicked the button!");
     }
 }

gui-003

4、在Project-〉Assets中选择Menu脚本对象,将其拖拽到Hierarchy面板中的Main Camera摄像机对象上,使脚本对象与游戏对象关联。

gui-004
如果失败,检查脚本文件名与cs中的主函数名是否一致,创建cs文件时默认的主文件名会与脚本文件名一致,但后面可能会修改脚本文件名,此时要相应修改主文件名;cs文件如果有错误,也不能建立关联,此时查看console中的错误提示信息。

5、运行,Game视图中出现了一个标题为“I am a button”的按钮组件,单击该按钮,在底部工具栏Console控制台面板输出“You clicked the botton!”结果

gui-005

6、使用Rect()函数添加背景盒子

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Menu : MonoBehaviour
{
    void OnGUI()
    {
        if (GUI.Button(new Rect(10, 10, 150, 100), "I am a button"))
        {
            print("You clicked the button!");
        }
        GUI.Box(new Rect(200, 0, 100, 200), "背景盒子");
        if (GUI.Button(new Rect(210, 40, 80, 20), "按钮1"))
        {
            print("button1");
        }
        if (GUI.Button(new Rect(210, 80, 80, 20), "按钮2"))
        {
            print("button2");
        }
        if (GUI.Button(new Rect(210, 120, 80, 20), "按钮n"))
        {
            print("button N");
        }
    }

}

gui-006

7、设置屏幕的宽度和高度

Rect()定义了4个 对应屏幕空间像素单位的Integer值属性,分别对应左、顶、宽、高
gui-007

二、GUI Style的设置

1、GUIStyle,包含了许多属性,都是对控件(control)的风格定义,添加GUISkin类

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Menu : MonoBehaviour
{

    public GUISkin guiSkin;

    void OnGUI()
    {
        if (GUI.Button(new Rect(10, 10, 150, 100), "I am a button"))
        {
            print("You clicked the button!");
        }
        GUI.Box(new Rect(200, 0, 100, 200), "背景盒子");
        if (GUI.Button(new Rect(210, 40, 80, 20), "按钮1"))
        {
            print("button1");
        }
        if (GUI.Button(new Rect(210, 80, 80, 20), "按钮2"))
        {
            print("button2");
        }
        if (GUI.Button(new Rect(210, 120, 80, 20), "按钮n"))
        {
            print("button N");
        }
        GUI.Button(new Rect(0, 0, 80, 20), "左上");
        GUI.Button(new Rect(0, Screen.height - 20, 80, 20), "左下");
        GUI.Button(new Rect(Screen.width - 80, 0, 80, 20), "右上");
        GUI.Button(new Rect(Screen.width - 80, Screen.height - 20, 80, 20), "右下");

        GUI.skin = guiSkin;
    }

}

此时,出现GUI Skin控件
gui-008

2、导入GUI Skin包

导入Techno_Blue_GUI_Skin.unitypackageModern_GUI_Skin.unitypackageBlack_Metal_GUI_skin.unitypackage
gui-009

3、更改GUI的样式

  游戏开发 最新文章
6、英飞凌-AURIX-TC3XX: PWM实验之使用 GT
泛型自动装箱
CubeMax添加Rtthread操作系统 组件STM32F10
python多线程编程:如何优雅地关闭线程
数据类型隐式转换导致的阻塞
WebAPi实现多文件上传,并附带参数
from origin ‘null‘ has been blocked by
UE4 蓝图调用C++函数(附带项目工程)
Unity学习笔记(一)结构体的简单理解与应用
【Memory As a Programming Concept in C a
上一篇文章      下一篇文章      查看所有文章
加:2022-05-05 11:52:21  更:2022-05-05 11:54:22 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 10:45:36-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码