位置: 编程技术 - 正文

[置顶] Unity Editor Extensions – Menu Items([置顶]津鱼.我爱你)

编辑:rootadmin

推荐整理分享[置顶] Unity Editor Extensions – Menu Items([置顶]津鱼.我爱你),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:[置顶]公主大人接下来是拷问时间31,[置顶]从lv2开始开挂的原勇者候悠闲的异世界生活,[置顶]从lv2开始开挂的原勇者候悠闲的异世界生活,[置顶]游戏名 TentacleLocker,[置顶]电影名字《收件人不详》,[置顶]JM259194,[置顶]bilinovel,[置顶]电影名字《收件人不详》,内容如对您有帮助,希望把文章链接给更多的朋友!

转载请注明出处:

Unity 编辑器允许添加自定义菜单的外观和行为类似内置菜单。这可以用于添加经常常用的功能,可直接从编辑器UI操作。

在这篇文章中,我将展示如何利用新的菜单menu items,Unity 编辑器中创建并尝试提供真实世界的例子用法,对于每个描述的topic。

添加菜单项

为了向top-level工具栏中添加一个新的菜单,您应该创建一个编辑器脚本(放在项目中一个名为Editor文件夹下任意位置的脚本文件)。在脚本代码中为用MenuItem attribute标记的static静态方法来创建菜单项items。

例如,很容易添加一个新的“Tools”菜单 (或与您的company’s top-level菜单),提供了由您的team/company.常用的选项。

下面是添加了新的Tools菜单,它 (清除PlayerPrefs的所有数据) 下方的某个选项的示例:

这创建了一个新的编辑器菜单调用Tools,和在菜单它之下的地方item叫PlayerPrefs:

它也可以创建新的菜单项,根据现有的菜单 (例如: 在Window菜单下),并可创建多个级别的菜单更好地安排和组织 (推荐):

这结果如下列菜单项:

热键

若要允许使用键盘操作更快,可以用热键----快捷组合键,将自动启动他们分配新的菜单项。

这些都是支持的键(也可以在一起组合):

◾%— — 在 Windows 上的 CTRL / CMDOSX 上

◾#— — Shift

◾&— — Alt 键

◾LEFT/RIGHT/UP/DOWN---—Arrow箭头键

◾F1......F2 — — F键

◾HOME, END,PGUP, PGDN

由向其中添加下划线前缀添加字符键不是键序列的一部分。

热键的字符组合添加到前面的空格的菜单项路径的末尾),如下面的示例所示:

热键菜单项将显示用于启动它们的键组合。例如,上面的代码中将导致此菜单:

注: 还有重叠热键没有验证 !定义多个具有相同的热键的结果是菜单项仅 1 选项命中。

特殊路径

正如见,传递给MenuItem attribute控制下,将置于顶层菜单的新项目的路径。

unity有几个“special”的路径作为上下文菜单(可使用右键单击的菜单):

◾Assets – 项目将可在“Assets”菜单,以及使用project视图中的右键单击。

◾Assets/Create –点击project视图中“Create”按钮时将列出items列表(添加新的类型,可以添加到项目时,这是很有用的)

◾CONTEXT/ComponentName –items将可通过右键单击里面的给定组件inspector检查器。

下面是一些示例如何使用这些特殊的路径:

此代码段的结果是这些新的菜单选项:

Assets (project view),用鼠标右键单击菜单

新的选项可从Asset’s CREATE按钮

[置顶]
        Unity Editor Extensions – Menu Items([置顶]津鱼.我爱你)

上下文菜单选项新的刚体组件

验证validation

某些菜单项仅在给定的上下文中有意义。启用禁用的菜单项根据其使用的上下文是通过添加验证方法。

验证方法是标记该菜单项的属性,将true参数传递给验证的静态方法。

该验证方法应该具有的菜单验证,并应返回一个布尔值,以确定是否该菜单项是活动的或不相同的菜单路径。

例如,验证方法可以用于添加Texture assets只有在project视图下用鼠标右键单击菜单:

当右键单击任何不在project视图中的纹理,项目菜单选项将被禁用(显示为灰色):

具有优先级的控制命令

Priority的值是可以分配给菜单项,根菜单下的菜单项的控件顺序(传递给MenuItem attribute)。

菜单项也会自动按其指定的优先级,增量为 :

代码示例的结果在菜单中有 2组items,根据分配的优先级:

如果需要添加和组织下现有的unity菜单的菜单项,需要有点“guesswork”,如大多数内置菜单项使用的优先事项。另一个选项是使用反射器之类的工具,看看内部unity代码(如 UnityEditor.CreateBuildInWindows) 是负责创建某些菜单编辑器中的源代码。

相关的类

下面是几个额外的classes相关的添加新的菜单项的列表。

MenuCommand

当将新的菜单项添加到inspector(如上文所述,使用“CONTEXT/Component”),有时就需要获取实际的组件的引用 (例如: 若要修改其数据)。

这可以通过将MenuCommand参数添加到静态定义的方法的新菜单项:

看到在代码示例中,调用菜单项时,可以使用context字段访问组件,作为其上下文。

快捷菜单

此attribute允许定义上下文菜单项。这工作完全相同的定义的方法,具有带路径"CONTEXT /..."开头MenuItem attribute。

不同的是使用此attribute,您定义默认的上下文菜单,对于给定的组件,而与菜单项的方法,你“extend”其他组件的菜单(例如 — — 是引擎的部分的默认组件)。

示例— — 公开组件的上下文菜单选项,以清除其数据:

ContextMenuItem

此attribute被添加到组件 (MonoBehaviour) 类,以允许添加上下文菜单在finerresolution。虽然ContextMenu attribute以上所示的快捷菜单属性在组件级别添加,则标记具有此属性的字段添加到个别的公共字段右击菜单。

由于此属性添加到一个字段并不是一种方法,它接受 2 个参数:菜单项和一个方法的名称(instance方法)选中菜单项时要调用的显示名称。

示例 — — 添加方法以随机初始化组件字段到某种状态:

当用鼠标右键单击在该组件的Name字段,此代码会产生此上下文菜单中:

总结

这篇文章中所示,扩展 Unity 编辑器用自定义菜单可以是相当简单的。

Building一般使用功能和需从编辑器提供适合各种规模的团队可以节省大量的时间。

请观看下一篇文章:Unity EditorExtensions – Custom Inspectors





3D语音天气球(源码分享)——完结篇 转载请注明本文出自大苞米的博客(

Unity开发之接入Sharesdk微信分享Android 原博客说的很详细了,补充几点原博客链接-----

unity3d接入ShareSDK微信平台参数说明 接入了ShareSDK,并分享微信成功,发现有些参数很模糊,所以在下面说明下测试的结果。这是分享成功的截图,发了两条所以有些参数才知道来源。Hashta

标签: [置顶]津鱼.我爱你

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

上一篇:Unity的WWW类的用法整理

下一篇:3D语音天气球(源码分享)——完结篇(天气球球怎么下载)

  • 申报个人所得税在哪里报
  • 个人抬头的发票可以报销吗
  • 开票地址一定要写全吗
  • 出库入库结存表
  • 贸易公司经营范围有限制吗
  • 当月有进项无销项月末怎么处理
  • 公帐一个月能提多少现金出来
  • 公司打印银行回单和对账单
  • 个体餐饮要交什么税
  • 法院判决书能做证据使用吗
  • 纳税调整税收金额
  • 权益资本成本率计算
  • 一般纳税人的账户是基本账户吗
  • 专家评审费如何报销费用
  • 营改增怎么抵扣
  • 劳务派遣差额征税5%
  • 未达起征点纳税申报表怎么填
  • 增值税申报进项抵扣汇总表在哪里
  • 公司店铺刷单的收入怎么记账
  • 存货占比小有什么影响
  • 什么是劳动保护费支出
  • 对外投资的风险及对策
  • 委托贷款利息收入怎么开发票
  • 个人使用过的设备有哪些
  • 小米路由器启动不了
  • 商贸公司如何结算成本
  • 宝塔linux面板 7.5.2 腾讯云专享版
  • ie浏览器阻止
  • 生物制品可以开箱验货吗
  • 企业所得税费用扣除比例
  • Win10 Build 19044.1319(21H1)预览版发布:修复 Bug提高安全性
  • php options
  • 增值税检查调整科目还在用吗
  • 布里奇和瓦内莎
  • 无形资产的会计处理
  • 不符合政策和条件的成语
  • 商品销售成本怎样计算
  • torch训练模型
  • 已确认的发票如何入账
  • 应交增值税减免税额在借方
  • html盒子边框圆角
  • php开发系统
  • 制造费用期末有余额怎么处理
  • 法院判定支付对方诉讼费,我可以入账吗
  • 住宿费电子发票没有章
  • yolo算法百度百科
  • 复制/root/install.log到/tmp
  • 商业积分消费模式
  • 工业企业采购部工作职责
  • 免税农产品的范围有哪些
  • 去年的进项发票可以抵今年的吗
  • 不需要开发票的现金收入怎么做内账?
  • 材料可变现净值为什么不减去材料的销售费用
  • 乘客人身意外保险单可以报销吗
  • 股权并购与收购的区别
  • 材料发票税额
  • 薪酬范围怎么写
  • 用友结算成本处理在哪里
  • 企业要怎样才能用到便宜的天然气
  • 折扣方式销售如何确定销售额?
  • 收回投标保证金 建立台账
  • 企业会计准则解释第16号
  • 航空公司变更起飞时间赔偿
  • MYSQL updatexml()函数报错注入解析
  • Navicat for MySQL导出表结构脚本的简单方法
  • linux的进程管理命令
  • 重庆四日游最佳攻略超详细
  • SWNETSUP.EXE - SWNETSUP是什么进程 有什么用
  • win7旗舰版重装系统教程
  • 保证windows 7安装后正常使用的安装方法
  • 常用的批处理命令
  • div css页面布局
  • unity learn premium
  • unity官方插件
  • jquery使用css
  • intent.setdata
  • 国家税务总局河北地税局
  • 济南税务局投诉电话多少
  • 美国对中国企业的政策
  • 国家税务总局第17号令
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设