位置: 编程技术 - 正文

行为怪异的Unity编辑器类 EditorGUILayout(行为怪异的人有问题吗)

编辑:rootadmin
分类: Unity3D-- : 人阅读 评论(0) 收藏 举报vectoruilist

推荐整理分享行为怪异的Unity编辑器类 EditorGUILayout(行为怪异的人有问题吗),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:行为怪异的人,行为怪异的人聪明吗,行为怪异的成语,行为怪异的人聪明吗,行为怪异的人,行为怪异的成语,行为怪异的人有问题吗,行为怪异的成语,内容如对您有帮助,希望把文章链接给更多的朋友!

EditorGUILayout 是Unity3D 中用于描绘Inspector类型的编辑器界面的类。提供了一组十分方便实用的方法。

但不知道为什么,Unity却没有把它做好,让他的行为十分怪异。

我们可以做以下实验

建立一个Vector2类型的属性,通过EditorGUILayout.PropertyField来描画

[csharp] view plaincopyprint?EditorGUILayout.PropertyField(Offset); 结果

我们得到了一个可以折叠的箭头,但却打不开,它没有包含子节点。可以看出,Unity中把Vector2的两个变量x、y当作了子节点处理。

那么

[csharp] view plaincopyprint?EditorGUILayout.PropertyField(Offset,true); 这样我们就描画了它的子节点

我们再来看看Vector3

[csharp] view plaincopyprint?EditorGUILayout.PropertyField(Vector2Text); 结果如下,可以看出vector的排版很好,这个才是我们需要的。经过试验,发现,无论是否指定显示子节点,其&#;式都是一样的。

如果我们想要一个vector2怎么办可以通过EditorGUILayout.Vector2Field方法实现

[csharp] view plaincopyprint?Offset.vector2Value = EditorGUILayout.Vector2Field("Pixel Offset", Offset.vector2Value, MarginTypeWidth);

我们再做稍稍复杂的尝试

假设我们需要描画一组水平组合的UI,先试试Vector3

[html] view plaincopyprint?EditorGUILayout.BeginHorizontal(); EditorGUILayout.PropertyField(Vector2Text, GUIContent.none,MarginTypeWidth); EditorGUILayout.PropertyField(MarginType, GUIContent.none, LabelWidth); EditorGUILayout.EndHorizontal(); 我们得到了想要的样式,一个Vector3和一个枚举的单选List

再试试Vector2

[csharp] view plaincopyprint?EditorGUILayout.BeginHorizontal(); Offset.vector2Value = EditorGUILayout.Vector2Field("Pixel Offset", Offset.vector2Value); EditorGUILayout.PropertyField(MarginType, GUIContent.none, LabelWidth); EditorGUILayout.EndHorizontal(); 结果却是这个样子,因为使用EditorGUILayout.Vector2Field不能使用GUIContent.none来定义空标签,结果就杯具了。而且我暂时没找到解决办法。行为怪异的Unity编辑器类 EditorGUILayout(行为怪异的人有问题吗)

最后来试试Vector4是什么样子的

[csharp] view plaincopyprint?EditorGUILayout.PropertyField(Vector4Text,true);

很不幸,和Vector2一样。搞不懂这是为啥。

本来只是想做一个用来定义UI控件相对屏幕定位坐标的UI,结果最后只能做成

介个样子。

还有一个很郁闷的

这是一个关于Size的定义框。

其实放在一个行内即可。问题是一个行内的&#;式却是

代码如下

[csharp] view plaincopyprint?EditorGUILayout.BeginHorizontal(); EditorGUILayout.PropertyField(Size.FindPropertyRelative("Width")); EditorGUILayout.PropertyField(Size.FindPropertyRelative("Height")); EditorGUILayout.EndHorizontal();

尝试添加宽度定义

[html] view plaincopyprint?private static GUILayoutOption SizeWidth = GUILayout.MaxWidth(f); …… EditorGUILayout.BeginHorizontal(); EditorGUILayout.PropertyField(Size.FindPropertyRelative("Width"), SizeWidth); EditorGUILayout.PropertyField(Size.FindPropertyRelative("Height"), SizeWidth); EditorGUILayout.EndHorizontal(); 结果

彻底乱了。

很郁闷的发现,前面的标签,宽度不能完美的随着控件整体的宽度定义变化而变化。虽然可以隐藏前面的标签自己添加,但数&#;类型的编辑框,其标签带有拖拽功能,这个是自己添加的标签没有的,所以只能郁闷使用两行的样子了。

以上这些,虽然和技术本身无关,但用户体验上,同类的数据或者行为,其表现应该一致或接近。Unity显然没有做到,而且对于一些常见的情况,Unity甚至没有做出很好的考虑,直接排版出错了。很显然,Uinty还有很多细节需要完善。

OculusDK2配置及在Unity中的使用(OVRManager.cs导入报错解决) 原因:在我做的一个项目中,想使用著名的Oculus来个视觉冲击,感觉很是霸气遇到的问题:1:OculusDK2版本问题及支持的平台以下是目前最新包部分:官

Unity5调用Android第三方sdk报错 错误1:CommandInvokationFailure:Failedtore-packageresources.SeetheConsolefordetails.D:adt-bundle-windows-x_-sdkbuild-toolsandroid-4.4Waapt.exepackage--auto-add-overlay-v-f-m-Jgen-M

【猫猫的Unity Shader之旅】之可编程 Shader初步 可编程Shader,通常也被叫做VertexFragmentShader,是比SurfaceShader更灵活的一种UnityShader形态。使用可编程Shader,可以实现对最终效果的更精确的控制,然而,

标签: 行为怪异的人有问题吗

本文链接地址:https://www.jiuchutong.com/biancheng/375673.html 转载请保留说明!

上一篇:NGUI的depth和Z轴的关系

下一篇:OculusDK2配置及在Unity中的使用(OVRManager.cs导入报错解决)(oculus dk2)

  • 公司不开票要交工会经费吗
  • 保险公司支付的赔款计入什么科目
  • 外贸企业申报退税流程
  • 税务检查是什么行政行为
  • 其他个人出租房屋按照多少征收应纳税额
  • 企业收到保险公司赔偿款是否要交税
  • 只有收入没有成本 企业所得税
  • 工资薪金需要缴纳什么税种
  • 退回以前年度工资怎么做账
  • 专门借款资本化时点
  • 企业停产多久算长期停产
  • 主营业务成本可以暂估吗
  • 劳务费确认收入
  • 分公司办理税务需要什么东西
  • 材料含税价怎么算
  • 销售成本结转中的库存商品的单价错了怎么改u8
  • 网上购物退款后又收到产品了怎么办
  • 超额亏损在合并后怎么算
  • 进出口贸易中押金怎么算
  • 汇算清缴前未取得发票账务处理
  • 存货盘亏怎么做账务处理
  • 金融机构对服务的要求
  • 资本公积与实收资本和盈余公积有什么区别?
  • 保安公司怎样上保险
  • 变更法人税务怎么变更
  • 发票作废税金怎么算
  • 失控发票进项税额转出申报表填写
  • 做财务报表是什么岗位
  • 企业在国内采购并运往境外作为投资的货物
  • win10虚拟机安装win7
  • fontcreator字间距
  • 其他综合收益怎么来的
  • SwiftBTN.exe - SwiftBTN是什么进程 有啥作用
  • 单位卖二手车需交税吗
  • linux 管道命令详解
  • 八个与cpu相关的字符
  • 最大交易笔数什么意思
  • PHP:zip_entry_filesize()的用法_Zip函数
  • nlp工具箱
  • 废旧物资发票抵扣
  • 企业的存货采用计划成本核算的,在资产负债表日
  • 占统治地位的英文短语
  • html动画教程
  • JavaScript(WebAPI)+具体案例
  • C语言中指针变量指向字符串时是有效字符的长度吗
  • 生产型企业出口退税会计分录
  • 银行代发工资当天改工资卡来得及吗
  • 一般贸易和进料加工退税的区别
  • 加班补贴费
  • 技术维护费可以全额抵扣吗
  • 减免增值税要计入营业外收入
  • 经营结余和事业结余
  • 最新个人捐款是什么意思
  • 结转增值税有留抵税额吗
  • 费用支出要求
  • 增值税发票上注明的价款包含增值税吗
  • 管理费用多了怎么办
  • 资金周转率计算公式
  • 缴纳税款滞纳金应计入哪个科目
  • 滞纳金是罚款支出吗
  • 折扣 会计
  • 贴现收到票据时会计分录
  • 计算机二级考试时间2024
  • 简述Mysql Explain 命令
  • win8的运行在哪里打开
  • Fedora 9 texlive + vim-latex + kile安装配置
  • 操作系统与硬件之间的关系
  • Ubuntu下配置vpn工作环境
  • centos7软件安装
  • Eclipse开发工具安装
  • android注册界面设计
  • bat脚本自动点击按钮
  • python中将
  • unity 角色控制器设置isTrigger问题
  • socketdescriptor
  • js 严格的迭代语句
  • 即将发布的新能源汽车
  • 房地产开发商要交哪些税和费用
  • 中国个人所得税是多少?
  • 国外工资个人所得税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设