Unity编辑器:自定义编辑器样式——GUIStyle
通过GUIStyle,可以自定义Unity编辑器的样式。
GUIStyle可以new一个全新的实例,这样,需要自己处理所有自己需要的效果。
GUIStyle还可以基于已经存在的实例new一个新的实例,这样,只需对原有的效果中不符合自己需求的进行修改。
就像这样:
GUIStyle textStyle = new GUIStyle("HeaderLabel");
textStyle.fontSize = 20;
一个基于 HeaderLabel 的字体显示风格,然后把字号放大成20;
然后就可以用这个风格来编制自己的编辑器,如下,文本“示例”二字会按上面定义的风格显示出来。
GUILayout.Label("示例", textStyle, GUILayout.Width(300));
Unity编辑器中,按钮,文本,开关等等大部分Layout都可以传入GUIStyle参数,就不多说了。
那么,到底怎么获得这些系统内置的样式的?
答案是:GUI.skin.customStyles !遍历这个数组,里面有大量的系统样式,稍作修改,基本就能有不错的效果啦。
下面,附上一个预览这些样式的方法。
首先,给出AssetStore上的资源地址:https://assetstore.unity.com/packages/tools/gui/editor-style-viewer-3282
源代码是js写的,不太习惯。我稍稍修改了一下,改成C#的了。
1 using System.Collections; 2 using System.Collections.Generic; 3 using UnityEngine; 4 using UnityEditor; 5 6 public class GUIStyleViewer : EditorWindow { 7 8 Vector2 scrollPosition = new Vector2(0,0); 9 string search = ""; 10 GUIStyle textStyle; 11 12 13 private static GUIStyleViewer window; 14 [MenuItem("Tools/GUIStyleViewer", false, 100)] 15 private static void OpenStyleViewer() 16 { 17 window = GetWindow<GUIStyleViewer>(false, "查看内置GUIStyle"); 18 } 19 20 void OnGUI() 21 { 22 if (textStyle == null) 23 { 24 textStyle = new GUIStyle("HeaderLabel"); 25 textStyle.fontSize = 20; 26 } 27 28 GUILayout.BeginHorizontal("HelpBox"); 29 GUILayout.Label("点击示例,可以将其名字复制下来", textStyle); 30 GUILayout.FlexibleSpace(); 31 GUILayout.Label("Search:"); 32 search = EditorGUILayout.TextField(search); 33 GUILayout.EndHorizontal(); 34 35 GUILayout.BeginHorizontal("PopupCurveSwatchBackground"); 36 GUILayout.Label("示例", textStyle, GUILayout.Width(300)); 37 GUILayout.Label("名字", textStyle, GUILayout.Width(300)); 38 GUILayout.EndHorizontal(); 39 40 41 scrollPosition = GUILayout.BeginScrollView(scrollPosition); 42 43 foreach (var style in GUI.skin.customStyles) 44 { 45 if (style.name.ToLower().Contains(search.ToLower())) 46 { 47 GUILayout.Space(15); 48 GUILayout.BeginHorizontal("PopupCurveSwatchBackground"); 49 if (GUILayout.Button(style.name, style, GUILayout.Width(300))) 50 { 51 EditorGUIUtility.systemCopyBuffer = style.name ; 52 Debug.LogError(style.name); 53 } 54 EditorGUILayout.SelectableLabel(style.name, GUILayout.Width(300)); 55 GUILayout.EndHorizontal(); 56 } 57 } 58 59 GUILayout.EndScrollView(); 60 } 61 }
系统GUIStyle预览
效果如下:
转载于:https://www.cnblogs.com/yougoo/p/10073086.html
Unity编辑器:自定义编辑器样式——GUIStyle相关推荐
- html编辑器不支持自定义样式,百度编辑器自定义按钮样式问题(写在cssRules不起做用)?...
UE.registerUI('dialog',function(editor,uiName){ //创建dialog var dialog = new UE.ui.Dialog({ //指定弹出层中页 ...
- 百度编辑器(UEditor)自定义内容样式
笔者在做微信编辑器的时候遇到这样的问题,当固定编辑器窗口的情况下图片太大会出现横向滚动调条,但是通过外部css并不能解决此问题,所以还需从编辑器本身入手,那么接下来就随着本文来看如何自定义内容样式. ...
- Unity 自定义编辑器窗口的使用
Unity 自定义编辑器窗口功能强大,可以实现所有希望实现的功能.我在近期的项目中仿照魔兽争霸3开发了一套简单的游戏单位功能组件,其中包括单位数据.移动方式.动画播放.武器系统等等.如果用传统的Ins ...
- vscode 自定义编辑器样式 css修改
vscode 自定义编辑器样式 CSS修改 看看别人插件 background background-cover 自己修改样式 1.打开vscode 配置文件 setting.json 2.修改上面提 ...
- markdown编辑器中去除图片水印以及自定义水印样式
目录 内容介绍 一.图片链接 1.默认图片 2.参数 3.自定义 二.去除水印 1.删除参数 2.设置字号 内容介绍 csdn的markdown编辑中经常会插入图片,用做代码截图.效果展示等,默认 ...
- 深入了解IMGUI和编辑器自定义
The new Unity UI system has now been out for over a year. So I thought I'd do a blog post about the ...
- ueditor 编辑html文件名,UEditor编辑器自定义上传图片或文件路径的修改方法,ueditor修改方法...
UEditor编辑器自定义上传图片或文件路径的修改方法,ueditor修改方法 使用ueditor编辑器,附件默认在ueditor/php/upload/, 我的附件地址是网站根目录下/data/u ...
- Unity引擎及编辑器C#源代码发布
3月23日我们在GitHub上发布了Unity引擎和编辑器的C#源代码,仅供Unity学习参考使用. 为何如此决定 为了了解或改进自己的Unity项目,一直以来有用户对Unity .NET程序集反汇编 ...
- unity中脚本编辑器UnIDE
引言 unity默认脚本编辑器是MonoDevelop,随着unity4.3面世,MonoDevelop (4.0.1)版本也随之而来,更新为界面更改和bug自动修复功能等,具体还未使用. 点击uni ...
- Spring -- 入门,装备集合,自动装配,分散装配,自定义编辑器
1. 概要 struts2:web hibernate:持久化 spring:业务层.管理bean的,容器.List Map Set.体验spring:1.创建java项目.2.引入spring的类库 ...
最新文章
- 这才是数据挖掘领域常用的机器学习算法!
- 键值存储之外,Redis还有这些用法
- 直接从JBoss AS 7组件使用JGroups
- 分布式锁和mysql事物扣库存_浅谈库存扣减和锁
- 2020品牌情商指数报告
- 霸气!任正非:即使美企断供 也无法威胁华为生存
- [No0000FD]C# 正则表达式
- LInux下CAN滤波时间,linux下can调试工具canutils安装过程记录
- Fiddler+夜神模拟器+xposed+justTrustMe手机抖音抓包
- 反向题在测试问卷信效度_问卷一定要做信度效度检验吗?如果含有多选题怎样做信度分析,请各位高手帮帮忙。...
- Life:歌曲学习之教一个不会唱歌的人学会唱出《情非得已》、《海阔天空》、《红日》、《老男孩》等歌曲
- 杰理之低延时无线麦功能支持以下三种组合配置【篇】
- 2021年安全员-A证(江西省)报名考试及安全员-A证(江西省)考试平台
- 微信公众号运营数据分析(二):内容分析讲解
- XJOI 7820 TLE
- 面试高级算法梳理笔记
- 数据分析Power BI案例:餐饮数据分析与可视化
- 如何通过6个简单步骤让百度收录你的网站
- 最新nod32 for windows2003
- 【C语言入门】已知10个学生的5门课程的成绩,将其存入一个二维数组,求每个学生的总成绩和平均成绩。
热门文章
- cxf 服务器响应超时时间,CXF日志响应时间
- oracle事件跟踪器使用,Oracle 10046跟踪事件操作步骤
- solr获取同义词 java_如何在使用缩写及其全名搜索时使solr同义词获取相同的结果(相同的数字和顺序)...
- 加速器instagram_“类似Instagram过滤器”标记肿瘤图像中的分子细节
- 与Maggy统一单主机和分布式机器学习
- linux怎么重载mysql配置命令_【Linux命令】数据库mysql配置命令
- 你分得清楚Maven的聚合和继承吗?
- Spring源码-context:component-scan的解析过程
- 定义一个扁平的按钮样式
- 最简单的TCP网络封包解包(补充)-序列化