news 2026/4/28 6:06:23

Unity学习笔记(十七)GUI控件(一)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Unity学习笔记(十七)GUI控件(一)

文本控件

public Texture pic; public Rect rect1; public GUIContent gUIContent; public GUIStyle style;

style 自定义文字样式

GUI.Label(new Rect(0,0,100,20),"Welcome",style);

Rect的宽高会改变图片显示的大小,而且是按图片等比例放大的

GUI.Label(new Rect(0, 30, 100, 100), pic);

综合使用 同时显示 文字和图片

GUI.Label(rect, gUIContent);

获取当前鼠标或者键盘选中的GUI控件 对应的tooltip信息

Debug.Log(GUI.tooltip);

按钮组件

public Rect buttonRect; public GUIContent buttonContent; public GUIStyle buttonStyle;

基本使用 鼠标在按钮范围内按下并抬起才算一次点击

if(GUI.Button(buttonRect, buttonContent, buttonStyle)) { Debug.Log("被点击"); }

长按 按钮 按下就会响应点击 抬起才停止

if (GUI.RepeatButton(buttonRect, buttonContent)) { Debug.Log("长按点击"); }

多选框

private bool isSel; private bool isSel2; public GUIStyle style;

Toggle的固定写法 ,这样可以根据返回值切换自己的状态

isSel=GUI.Toggle(new Rect(0, 0, 100, 30), isSel, "效果开关");

自定义样式 显示问题

修改固定宽高 fixedWidth和fixedHeight 对背景图片进行宽高的设置 同时不影响点击区域

修改从GUIStyle边缘到内容起始处的空间 padding

isSel2=GUI.Toggle(new Rect(0,40,100,30),isSel2,"Music",style);

单选框

private int nowSelIndex = 1;

单选框基于多选框去实现 关键 通过一个int标识来决定是否选中

if(GUI.Toggle(new Rect(0, 60, 100, 30), nowSelIndex==1, "Selection1")) { nowSelIndex = 1; } if(GUI.Toggle(new Rect(0,100,100,30), nowSelIndex == 2, "Selection2")) { nowSelIndex=2; } if(GUI.Toggle(new Rect(0,140,100,30), nowSelIndex == 3, "Selection3")) { nowSelIndex=3; }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/26 11:42:06

34、Bash脚本中的循环控制与故障排查

Bash脚本中的循环控制与故障排查 1. 循环控制 在Bash脚本中,循环是一种强大的工具,可用于重复执行特定的代码块。下面将介绍 while 、 until 循环以及如何在循环中控制程序流程。 1.1 while 循环 while 循环会在条件为真时持续执行代码块。以下是一个简单菜单程序…

作者头像 李华
网站建设 2026/4/25 3:13:31

直接撸起袖子开干!今天咱们聊聊怎么用LabVIEW整一个带报警记录的上位机监控系统。这玩意儿在工业现场特别实用,尤其是需要24小时盯着设备状态的时候

labview上位机监测报警记录,状态显示。 报警记录存储,存储格式txt。 csv保存文件。先看状态显示部分。LabVIEW的前面板放几个指示灯控件就能实时反映设备状态,比如用绿色圆形表示正常,红色三角表示报警。背后用个While循环不断读取…

作者头像 李华
网站建设 2026/4/27 5:30:00

基于A*算法的无人机三维动态避障路径规划设计,MATLAB编程实现

基于A* 算法的无人机三维路径规划算法,可以动态避障,自己可以规定设计障碍物位置,MATLAB编程实现。 无人机在三维空间耍杂技这事儿,靠的就是路径规划的真功夫。今天咱们来聊个硬核玩法——基于MATLAB实现的A*算法三维动态避障系统…

作者头像 李华
网站建设 2026/4/24 8:41:12

基于vue的宠物寄养机构管理系统_96zn64i1_springboot php python nodejs

目录具体实现截图项目介绍论文大纲核心代码部分展示项目运行指导结论源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作具体实现截图 本系统(程序源码数据库调试部署讲解)同时还支持java、ThinkPHP、Node.js、Spring B…

作者头像 李华
网站建设 2026/4/27 0:04:30

20、GTK+ Tree View 开发指南

GTK+ Tree View 开发指南 1. 引言 在 GTK+ 开发中,Tree View 是一个非常重要的组件,它实现了 MVC(Model-View-Controller)模式中的视图部分。用户可以通过 Tree View 与数据进行交互,如选择行、展开或折叠树等。本文将详细介绍 GTK+ 中 Tree View 的相关函数、属性、信号…

作者头像 李华
网站建设 2026/4/22 12:31:31

22、文本缓冲区操作全解析

文本缓冲区操作全解析 1. 文本缓冲区基础 1.1 基本特性 文本缓冲区采用 UTF - 8 编码,这使得字节计数(索引)和字符计数(偏移量)有所不同。一个文本缓冲区至少包含一行(可能为空),除最后一行外,每行以行分隔符结尾,行分隔符被视为一个字符,它可以是 Unix 换行符、…

作者头像 李华