| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 游戏开发 -> Unity编辑器扩展学习(二)—EditorWindow及IMGUI的各个控件的学习 -> 正文阅读 |
|
[游戏开发]Unity编辑器扩展学习(二)—EditorWindow及IMGUI的各个控件的学习 |
EditorWindow及IMGUI的各个控件的学习
*请先using UnityEditor 前言(长话短说)学习课程做的笔记 EditorWindow说明(摘自文档) 从此类派生以创建编辑器窗口。 创建自己的自定义编辑器窗口,这些窗口可以自由浮动,也可以作为选项卡停靠,就像 Unity 界面中的原生窗口一样。 通常使用菜单项打开编辑器窗口。 EditorWindow使用方法窗口的打开和简单的绘制
使用
(ps:别问我为什么不写个正确的路径和类名) 首先需要让类继承 使用 窗口内的绘制方式: 在OnGUI方法中使用IMGUI的API进行UI绘制 注:IMGUI是Immediately mode GUI (即时绘制),EditorWindow是IMGUI的其中一个载体 GUILayout UI组件使用写在OnGUI()方法中 1. Label 文本标签
2. TextField 输入框
上面的示例代码表示使用一个变量存储文本框内的字符串 3.TextArea输入框
与 4. PasswordField密码输入框
第一个参数为默认值,第二个参数为掩码 输入的字母会变成掩码显示出来 注意:默认值必须赋值,为空会报错 5.Button 按钮
参数为按钮中的文字,当按钮被点击会返回 注:点击一次调用一次方法(松开鼠标时调用) 6.RepeatButton 循环按钮
注意:文档里写的是按下会一直调用方法,经测试在EditorWindow中会出点问题,不会一直调用,仅在游戏脚本中使用才会正常实现。怀疑是 7. Horizontal/Vertical方向布局组在布局组中的控件会根据布局依次放置 示例代码如下:
使用 同理,使用 8. Box自动布局框创建一个包含静态文本或图像但不包含其他 GUI 控件的框 示例代码如下(抄了下文档里的代码):
9. ScrollView滚动视图生成一个自动布局的滚动视图 自动布局滚动视图和方向布局组一样可以存放任何内容 如果内容显示大小大于滚动视图的大小则显示滚动条 示例代码如下:
与方向布局组的使用方法一样,需要用 需要定义一个Vector2变量scrollPosition存放显示的位置 10 .HorizontalSlider/VerticalSlider 水平/竖直滑动条生成一个拖动滑动条,用于在最小值和最大值之间更改某值,返回一个float值 示例代码如下:
第一个参数为默认值,第二个参数和第三个参数分别为左边的值和右边的值 11. Area GUI区域在一个固定的屏幕区域中开始 GUI 控件的 GUILayout 块 也就是说无视当前的布局,在对应的区域中 生成 一个GUILayout 块 示例代码如下:
使用
注意: 12. WIndow窗口创建一个对自身内容进行自动布局的弹出窗口 代码如下(抄文档里的):
在EditorWindow里面应该是用不了,我个人测试是只能用在游戏脚本中
13.ToolBar 工具栏创建一个工具栏,每个栏目被点击时会返回选择的项对应的索引 示例代码如下:
需要一个变量 14.Toggle 勾选项创建一个打开/关闭的开关按钮(我个人喜欢叫它勾选项) 示例代码如下:
返回值为开关按钮的新值,因此使用一个变量保存它的值。 15. Space空白元素在当前布局组中插入空白元素。 空白元素的方向取决于当前所在的布局组。如果在垂直组中,空白元素将是垂直的。
补充:使用 16. Width/Height 宽高用于设置控件的宽和高 示例代码如下:
使用 17.SelectionGrid选择网格创建一个选择网格,返回所选的按钮索引(和ToolBar基本一致,但是可以多行显示按钮) 参考代码如下:
其他说明四种IMGUI渲染的APIUnity 提供了 四种IMGUI渲染的API,分别是:
文档 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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/28 0:29:43- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |