Unity3D学习之UI系统——GUI

文章目录

  • 1. 前言
  • 2. 工作原理和主要作用
  • 3. 基础控件
    • 3.1 重要参数及文本和按钮
      • 3.1.1 GUI 共同点
      • 3.1.2 文本控件
      • 3.1.3 按钮控件
    • 3.2 多选框和单选框
      • 3.2.1 多选框
      • 3.2.2 单选框
      • 3.2.3 输入框
      • 3.2.4 拖动条
    • 3.3 图片绘制和框
      • 3.3.1 图片
      • 3.3.2 框绘制
  • 4 工具栏和选择网格
    • 4.1 工具栏
    • 4.2 选择网格
  • 5 滚动列表和分组
    • 5.1 分组
    • 5.2 滚动列表
  • 6 窗口
    • 6.1 模态窗口
    • 6.2 拖动窗口
  • 7 自定义皮肤样式
    • 7.1 全局颜色
    • 7.2 整体皮肤样式
  • 8 GUILayout自动布局
    • 8.1 自动布局
    • 8.2 布局选项
  • 9 必备知识点
  • 10 九宫格布局概念


1. 前言

在这里插入图片描述在这里插入图片描述
设置Screen Type和Center Type

最终实现效果:
在这里插入图片描述

2. 工作原理和主要作用

在这里插入图片描述
在这里插入图片描述

3. 基础控件

3.1 重要参数及文本和按钮

3.1.1 GUI 共同点

在这里插入图片描述

3.1.2 文本控件

在这里插入图片描述
在这里插入图片描述

可以传图片
在这里插入图片描述
在这里插入图片描述

在unity中拖入图片
在这里插入图片描述
可以把Rect 设置成public 的变量,在控件中设置
在这里插入图片描述

在这里插入图片描述
文字和图片均显示
在这里插入图片描述
在这里插入图片描述

toolTip 获取当前选中的空间的附带信息
在这里插入图片描述
GUI Style 控制样式
在这里插入图片描述

3.1.3 按钮控件

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
必须要按下并抬起才算被点击

在这里插入图片描述
长按按钮

3.2 多选框和单选框

3.2.1 多选框

在这里插入图片描述
Toggle因为返回的是bool值,所以一定要在OnGUI外面生成bool值
在这里插入图片描述
变成这样
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
false时显示Normal
在这里插入图片描述
在这里插入图片描述

true时显示On Normal
在这里插入图片描述
在这里插入图片描述

3.2.2 单选框

在这里插入图片描述
通过一个int 标识表示是否显示

在这里插入图片描述

3.2.3 输入框

在这里插入图片描述

在这里插入图片描述

3.2.4 拖动条

在这里插入图片描述

在这里插入图片描述

3.3 图片绘制和框

3.3.1 图片

在这里插入图片描述

在这里插入图片描述

3.3.2 框绘制

在这里插入图片描述
在这里插入图片描述

4 工具栏和选择网格

4.1 工具栏

在这里插入图片描述

这种类似的
在这里插入图片描述

在这里插入图片描述
可以根据返回索引处理不同的逻辑
在这里插入图片描述

4.2 选择网格

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

5 滚动列表和分组

5.1 分组

在这里插入图片描述
包裹着他的所有控件的位置,只要移动Group的位置,包裹的所有控件的位置就会改变
包裹只Begin到End之间的所有控件
在这里插入图片描述

在这里插入图片描述
移动groupPos

在这里插入图片描述

5.2 滚动列表

在这里插入图片描述
拖动列表条

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

scPos是这个滚动组件的位置
nowPos是滚动条的变量
showPos 组件内容的尺寸
如果里面内容的宽高小于组件内容的尺寸,则不会出现滚动条,如果大于了就会出现
在这里插入图片描述
在这里插入图片描述

6 窗口

在这里插入图片描述

在这里插入图片描述
在函数里添加配件
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6.1 模态窗口

在这里插入图片描述
相当于警告窗口,这个窗口一出来点其他按钮都没有用了

6.2 拖动窗口

在这里插入图片描述

在这里插入图片描述
函数如果填了,就是只能拖这部分才能拖动

7 自定义皮肤样式

7.1 全局颜色

自定义的style也会受影响

在这里插入图片描述
在这里插入图片描述

7.2 整体皮肤样式

在这里插入图片描述

Skin就是多个GUI的Style的综合体

可以自己创建skin文件,然后编辑赋值给GUI.skin

8 GUILayout自动布局

8.1 自动布局

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

8.2 布局选项

在这里插入图片描述

9 必备知识点

编辑模式下让指定代码执行
加上[ExecuteAlways]

在这里插入图片描述

10 九宫格布局概念

在这里插入图片描述

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/418154.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

内存泄漏检测组件的实现

内存泄漏是在没有自动GC的编程语言里面,经常发生的一些问题。要实现一个内存泄露的检测组件,有两个需求: 能够检测出来内存泄漏能够判断出来哪一个地方的申请没有释放(哪一行引起的泄漏) 方案1:借助mtrac…

CSS明显比XPATH更性感!CSS再学一点儿

在selenium应用,CSS比XPATH更性感 To style an element, Front end developers need to locate the element first and then apply styling rules. It looks like this: #logo{ color: white; background: black; }That CSS snippet says, apply color and backgro…

Flutter GetX 之 国际化

今天给大家介绍一下 GetX 的国际化功能,在日常开发过程中,我们经常会使用到国际化功能,需要们的应用支持 国际化,例如我们需要支持 简体、繁体、英文等等。 上几篇文章介绍了GetX的 路由管理 和 状态管理,看到大家的点赞和收藏,还是很开心的,说明这两篇文章给大家起到了…

OPC UA 开源库编译方法及通过OPC UA连接西门S7-1200 PLC通信并进行数据交换

前言 在现代工业自动化领域,OPC UA(开放性生产控制和统一架构)是一种广泛应用的通信协议。本文将以通俗易懂的方式解释OPC UA的含义和作用,帮助读者更好地理解这一概念。 一、OPC UA的定义 OPC UA全称为“开放性生产控制和统一…

如何防护网站存在的sql注入攻击漏洞

SQL注入攻击是最危险的Web漏洞之一,危害性极大,造成的后果不堪设想,因此受到了大家的高度重视。那么你知道SQL注入攻击防范方法有哪些吗? SQL注入是一种网站的攻击方法。它将SQL代码添加到网站前端GET POST参数中,并将其传递给my…

python爬取图片(thumbURL和html文件标签分别爬取)

当查看源代码,发现网址在thumbURL之后时,用此代码: # 当查看源代码,发现网址在thumbURL之后时,用此代码:import requestsheaders {User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121…

Unity-场景

创建场景 创建新的场景后: 文件 -> 生成设置 -> Build中的场景 -> 将项目中需要使用的场景拖进去 SceneTest public class SceneTest : MonoBehaviour {// Start is called before the first frame updatevoid Start(){// 两个类: 场景类、场…

Cellinx NVT 摄像机 UAC.cgi 任意用户创建漏洞复现

0x01 产品简介 Cellinx NVT IP PTZ是韩国Cellinx公司的一个摄像机设备。 0x02 漏洞概述 Cellinx NVT 摄像机 UAC.cgi接口处存在任意用户创建漏洞,未经身份认证的攻击者可利用此接口创建管理员账户,登录后台可查看敏感信息,使系统处于极不安全的状态。 0x03 复现环境 FO…

【JavaEE】_基于UDP实现网络通信

目录 1. 服务器 1.1 实现逻辑 1.2 代码 1.3 部分代码解释 2. 客户端 2.1 实现逻辑 2.2 代码 2.3 客户端部分代码解释 3. 程序运行结果 4. 服务器客户端交互逻辑 此篇内容为实现UDP版本的回显服务器echo server; 普通服务器:收到请求&#xff…

ASP.NET Core 的 Web Api 实现限流 中间件

Microsoft.AspNetCore.RateLimiting 中间件提供速率限制(限流)中间件。 它是.NET 7 以上版本才支持的中间件,刚看了一下,确实挺好用,下面给大家简单介绍一下: RateLimiterOptionsExtensions 类提供下列用…

【设计模式-08】Flyweight享元模式

简要说明 简要的理解:享元模式就是新建一个池(Pool),该池子(Pool)中有新建好的一堆对象,当需要使用时,从池子(Pool)中直接获取,不用重新新建一个对象。通俗的讲就是:共享元数据。 比如Java中的String就是使…

QoS简介

QoS产生的背景 网络的普及和业务的多样化使得互联网流量激增,从而产生网络拥塞,增加转发时延,严重时还会产生丢包,导致业务质量下降甚至不可用。所以,要在网络上开展这些实时性业务,就必须解决网络拥塞问题…