当前位置: 首页 > 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…...

0 基础转码学 AI:Java+Python 双语言入门,3 个月可落地实战项目

如今 AI 应用开发岗位需求持续上涨,不少零基础上班族、应届生、跨行业人群都想走转码路线入局技术行业。但很多人纠结不知道先学哪门语言,也不清楚零基础该以怎样的节奏入门,更担心学习周期太长,迟迟做不出能用于求职的实战项目。 结合当下企业真实用人需求来看,单纯只学…...

机场智慧化转型:室内外一体化定位技术如何破解运营与服务难题

1. 项目背景与核心痛点:一个大型机场集团的转型之困 在民航业干了十几年,我亲眼见证了机场从“大号候车室”到“智慧出行枢纽”的演变。今天想聊的,不是那些宏大的概念,而是一个非常具体的案例:陕西某大型机场集团如何…...

从Cityscapes到遥感图像:用MMSegmentation v1.0.0搞定不同领域语义分割数据集的完整配置流程

跨领域语义分割实战:MMSegmentation多场景数据集配置全解析 当计算机视觉工程师需要将语义分割技术从自动驾驶领域迁移到遥感图像分析时,最常遇到的障碍不是模型架构的选择,而是数据集的适配难题。不同领域的图像在分辨率、类别分布、标注格式…...

关联查询,左连接,inner join笔记,BNL,NLJ

文章目录left join的最大值和最小值3个表的inner join关联查询时的is_del处理cross join(full join)NLJ 性能高BNL 性能低blj会导致什么问题?left join的最大值和最小值 假设左表m条,右表n条 最小值是m: 当一条也匹配不到右表时,或者右表中…...

如何用MediaCrawler实现7大平台数据采集与追踪:从零到一的完整实战指南

如何用MediaCrawler实现7大平台数据采集与追踪:从零到一的完整实战指南 【免费下载链接】MediaCrawler 小红书笔记 | 评论爬虫、抖音视频 | 评论爬虫、快手视频 | 评论爬虫、B 站视频 | 评论爬虫、微博帖子 | 评论爬虫、百度贴吧帖子 &#x…...

[特殊字符] TCP/IP四层协议栈解析——互联网通信的“底层逻辑“

📅 发布时间:2026年5月 | 🏷️ 标签:TCP/IP、网络协议、网络架构、互联网原理、网络层 🔍 SEO关键词:TCP/IP协议栈、四层模型、ARP协议、IP协议、网络通信原理开篇暴击:你正在看这篇文章&#x…...

从‘Hello World’到工业通信:我的第一个C++ ADS客户端连接倍福PLC踩坑实录

从零搭建C ADS客户端:一位工程师的倍福PLC连接实战手记 第一次在Visual Studio里看到那个红色的编译错误时,我盯着屏幕足足愣了五分钟。"LNK2019: 无法解析的外部符号 __imp_AdsPortOpen",这行冰冷的报错彻底击碎了我以为照着官方…...

如何选择最适合的许可证扫描工具:LicenseFinder与其他工具的全面对比分析

如何选择最适合的许可证扫描工具:LicenseFinder与其他工具的全面对比分析 【免费下载链接】LicenseFinder Find licenses for your projects dependencies. 项目地址: https://gitcode.com/gh_mirrors/li/LicenseFinder 在当今开源软件盛行的时代&#xff0c…...

ViGEmBus终极指南:如何在Windows上轻松实现游戏手柄兼容性

ViGEmBus终极指南:如何在Windows上轻松实现游戏手柄兼容性 【免费下载链接】ViGEmBus Windows kernel-mode driver emulating well-known USB game controllers. 项目地址: https://gitcode.com/gh_mirrors/vi/ViGEmBus ViGEmBus是一个开源的Windows内核模式…...

原子化《论持久战》的庖丁解牛

它的本质是:在敌强我弱(资源劣势、环境恶劣)的初始条件下,通过 空间换时间 (Space for Time)、积小胜为大胜 (Accumulating Small Wins) 和 动员群众 (Mobilizing Resources/Network),将战争从 战略防御 (Strategic De…...