当前位置: 首页 > news >正文

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 九宫格布局概念

在这里插入图片描述

在这里插入图片描述

相关文章:

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 选…...

用户ssh正确密码登陆均报错Permission denied, please try again.处理方法

我的一台虚拟机IP是:192.168.59.133任何服务器使用任何用户ssh均报错,甚至连自己都不能ssh自己。 不能使用任何工具连接上该服务器 使用ssh连接自己的127.0.0.1和localhost都权限拒绝错误 ssh报错如下 任何服务器ssh报错内容均一样:报错内…...

IO、NIO、IO多路复用

IO是什么? IO分为两类,它们之间是有区别的,而且有很大的区别;1. 文件系统的IO 也叫本地io,就是和磁盘或者外围存储设备进行读写操作,外围设备有USB、移动硬盘等等;2. 网络的IO 将数据发送给对方…...

探索FTP:原理、实践与安全优化

引言 在正式开始讲解之前,首先来了解一下文件存储的类型有哪些。 DAS、SAN和NAS是三种不同的存储架构,分别用于解决不同场景下的数据存储需求。 DAS (Direct Attached Storage 直接附加存储):DAS 是指将存储设备(如硬盘&#x…...

git中的语法和术语含义

目录 第一章、git常用术语1.1)文件状态1.2)git常用术语的含义 第二章、git文件状态解析2.1)从git init开始:Untracked(未跟踪)2.2)git add fileName后:Staged(已暂存&…...

java SECS管理系统 将逐步推出 SECS 客户端(Passive) 管理系统 SECS快速开发平台 springboot secs开发平台

SECS管理系统 这是一套SECS客户端(Passive),可以直接连接PLC设备,支持Modbus、三菱MC、欧姆龙Fine、OPC-UA、西门子S7设备等通信。 企业已经有了EAP软件,但是设备没有SECS通信功能,这时候可以使用这套框架,直接连接设备&#xff…...

使 a === 1 a === 2 a === 3 为 true 的几种“下毒“方法

前言 这算得上是近些年的前端网红题了,曾经对这种网红题非常抵触,认为非常没有意义。 看到了不少人有做分享,有各种各样的方案,有涉及到 JS 非常基础的知识点,也不得不感叹解题者的脑洞之大。 但是,拿来…...

Canny边缘检测 双阈值检测理解

问题引入 我们用一个实际例子来引入问题 import cv2 import numpy as npimgcv2.imread("test.png",cv2.IMREAD_GRAYSCALE) # 修改图像大小 show cv2.resize(img,(500,500))v1cv2.Canny(show,120,250) v2cv2.Canny(show,50,100)# 连接图像 res np.hstack((v1,v2)…...

自动化测试:5分钟了解Selenium以及如何提升自动化测试的效果

在快节奏的技术世界里,自动化测试已经成为确保 Web 应用程序质量和性能的重要手段。自动化测试不仅加快了测试过程,还提高了测试的重复性和准确性。Selenium,作为领先的自动化测试工具之一,为测试人员提供了强大的功能来模拟用户在…...

【MySQL】——关系数据库标准语言SQL(大纲)

🎃个人专栏: 🐬 算法设计与分析:算法设计与分析_IT闫的博客-CSDN博客 🐳Java基础:Java基础_IT闫的博客-CSDN博客 🐋c语言:c语言_IT闫的博客-CSDN博客 🐟MySQL&#xff1a…...

力扣hot100 最长有效括号 动态规划

Problem: 32. 最长有效括号 文章目录 思路Code 思路 👨‍🏫 参考题解 Code ⏰ 时间复杂度: O ( n ) O(n) O(n) 🌎 空间复杂度: O ( n ) O(n) O(n) class Solution {public int longestValidParentheses(String s){int n s.length();…...

@RequestBody注解基础

RequestBody RequestBody注解一般与post方法使用。 一个请求中只能存在一个RequestBody注解。 RequestBody 用于接收前端传递给后端的json字符串中的数据。(处理json格式的数据) 语法格式: ​(RequestBody Map map) (RequestBody Object obje…...

前端基础面试题大全

一、Vue 文章目录 一、Vue1、vue 修改数据页面不重新渲染**数组/对象的响应式 ,vue 里面是怎么处理的?** 2、生命周期Vue 生命周期都有哪些?父子组件生命周期执行顺序 3、watch 和 computed 的区别4、组件通信(组件间传值&#xf…...

第一讲_HarmonyOS应用开发环境准备

HarmonyOS应用开发环境准备 1. 知识储备2. 环境搭建2.1 安装node.js2.2 配置node.js2.3 安装命令行工具2.4 安装DevEco Studio2.5 配置DevEco Studio 1. 知识储备 HarmonyOS提供了一套UI开发框架,即方舟开发框架(ArkUI框架)。方舟开发框架可…...

一、可行性研究报告模板(软件工程)

一、可行性研究报告 1.引言 1.1编写目的 1.2项目背景 1.3定义 1.4参考资料 2.可行性研究的前提 2.1要求 2.2目标 2.3条件、假定和限制 2.4可行性研究方法 2.5决定可行性的主要因素 3.对现有系统的分析 3.1处理流程…...

DBA技术栈MongoDB:简介

1.1 什么是MongoDB? MongoDB是一个可扩展、开源、表结构自由、用C语言编写且面向文档的数据库,旨在为Web应用程序提供高性能、高可用性且易扩展的数据存储解决方案。 MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当…...

贪心算法 ——硬币兑换、区间调度、

硬币兑换: from book:挑战程序设计竞赛 思路:优先使用大面额兑换即可 package mainimport "fmt"func main() {results : []int{}//记录每一种数额的张数A : 620B : A//备份cnts : 0 //记录至少需要多少张nums : []int{1, 5, 10, 5…...

【已解决】namespace “Ui“没有成员 xxx

先说笔者遇到的问题,我创建一个QWidget ui文件,然后编辑的七七八八后,想要用.h与.cpp调用其,编译通过,结果报了这个错误,本方法不是普适性,但是确实解决了这个鸟问题。 问题来源 搭建ui后&…...

Spring Bean 生命周期的执行流程?

一、问题解析 Spring 生命周期全过程大致分为五个阶段:创建前准备阶段、创建实例阶段、依赖注入阶段、容器缓存阶段和销毁实例阶段。 这张是 Spring Bean 生命周期完整流程图,其中对每个阶段的具体操作做了详细介绍: (把这张图按…...

Android-三方框架的源码

ARouter Arouter的整体思路是moduelA通过中间人ARouter把路由信息的存到仓库WareHouse;moduleB发起路由时,再通过中间人ARouter从仓库WareHouse取出路由信息,这要就实现了没有依赖的两者之间的跳转与通信。其中涉及Activity的跳转、服务prov…...

AI嵌入式K210项目(15)-安全散列算法加速器

文章目录 前言一、什么是SHA256?实验原理 二、K210的安全散列算法加速器三、实验过程总结 前言 K210内置了丰富的加速器,包括神经网络处理器 (KPU),AES(高级加密加速器),APU 麦克风阵列语音数据加速计算处理器,现场可…...

Docker Consul详解与部署示例

目录 Consul构成 Docker Consul 概述 Raft算法 服务注册与发现 健康检查 Key/Value存储 多数据中心 部署模式 consul-template守护进程 registrator容器 consul服务部署(192.168.41.31) 环境准备 搭建Consul服务 查看集群信息 registrato…...

内网安全管理系统(保密管理系统)

在当今信息化的时代,企业的内网已经成为其核心资产的重要组成部分。 随着企业的快速发展和信息化程度的提升,内网安全问题日益凸显,如何保障内网的安全和机密信息的保密性,已经成为企业亟待解决的问题。 内网安全管理系统(保密管…...

.NetCore Flurl.Http 4.0.0 以上管理客户端

参考原文地址:Managing Clients - Flurl 管理客户端 Flurl.Http 构建在堆栈之上System.Net.Http。如果您熟悉HttpClient,那么您可能听说过这个建议:不要为每个请求创建一个新客户端;重复使用它们,否则将面临后…...

openssl3.2 - 官方demo学习 - smime - smenc.c

文章目录 openssl3.2 - 官方demo学习 - smime - smenc.c概述笔记END openssl3.2 - 官方demo学习 - smime - smenc.c 概述 读取X509证书, 用PKCS7加密明文(证书 明文 3DES_CBC), 保存为MIME格式的密文 openssl API的命名含义 BIO_new_file “new” a “file”, return a “…...

【EI会议征稿通知】第四届工业制造与结构材料国际学术会议(IMSM 2024)

第四届工业制造与结构材料国际学术会议(IMSM 2024) 2024 4th International Conference on Industrial Manufacturing and Structural Materials(IMSM 2024) 第四届工业制造与结构材料国际学术会议(IMSM 2024&#x…...

mysql中建立一个用户,只能看到某个指定的数据库

MySQL用户管理及权限控制 在MySQL数据库中,用户管理和权限控制是非常重要的功能。通过正确地设置用户和权限,可以保护数据库的安全性,防止未授权的访问和数据泄露。本文将介绍如何在MySQL中创建一个用户,并限制该用户只能访问特定…...

第2章 线程管理

2.1 线程的基本操作 每个程序至少有一个执行main()函数的线程, 其他线程与主线程同时运行。 如main()函数执行完成退出一样, 线程执行完函数也会退出。 为线程创建std::thread() 对象后, 需要等待该线程结束。 那么, 先启动线程。…...

机器学习第二十六周周报 ARIMA Clustering model

文章目录 week26 ARIMA & Clustering model摘要Abstract一、龙格库塔方法二、文献阅读1. 题目2. abstract3. 网络架构3.1 ARIMA模型3.2 K-means聚类3.3 评估标准 4. 文献解读4.1 Introduction4.2 创新点4.3 实验过程4.3.1 数据来源4.3.2 使用ARIMA模型预测4.3.3 K-means聚类…...

支持XP系统的最新firefox浏览器

都2024年了,还XP系统?事情是这样的,我要维护一下非常老的项目,系统部署在windows server 2003下面。升级系统是不太可能了。只能在老系统上维护,老的系统上自带的IE 6.0浏览器,在当前几乎是不可用状态&…...