拓展编辑器(十八)_源生自定义菜单
MenuItem是依托于Unity编辑器的菜单栏,换句话说就是无法设置它的位置。如果希望菜单的位置出现时更灵活的话,可以调用源生组定义菜单的方法。比如,可以在Scene视图中点击鼠标右键,此时会弹出一组源生自定义菜单。代码如下所示:
using UnityEngine; using UnityEditor;public class 源生自定义菜单 {[InitializeOnLoadMethod]static void InitializeOnLoadMethod(){SceneView.onSceneGUIDelegate = delegate (SceneView sceneView){Event e = Event.current;//鼠标右键抬起时if (e != null && e.button == 1 && e.type == EventType.MouseUp){Vector2 mousePosition = e.mousePosition;//设置菜单项var options = new GUIContent[]{new GUIContent("Test1"),new GUIContent("Test2"),new GUIContent(""),new GUIContent("Test/Test3"),new GUIContent("Test/Test4")};//设置菜单显示区域var selected = -1;var userData = Selection.activeGameObject;var width = 100;var height = 100;var position = new Rect(mousePosition.x, mousePosition.y - height,width, height);//显示菜单 EditorUtility.DisplayCustomMenu(position, options, selected,delegate (object data, string[] opt, int select){Debug.Log(opt[select]);}, userData);e.Use();}};} }
在上述代码中,首先监听鼠标右键以及获取鼠标位置,接着使用EditorUtility.DisplayCustomMenu()方法弹出自定义菜单,以及监听菜单选择后的事件。
效果如下所示:
转载于:https://www.cnblogs.com/llllllvty/p/9932614.html
拓展编辑器(十八)_源生自定义菜单相关推荐
- JavaEE项目实战(OA系统)之十八_流程审批之一
JavaEE项目实战(OA系统)之十八_流程审批之一 下面介绍OA系统的另一模块:流程审批. OA系统推崇的是无纸化办公,因此各项事务的流程审批是OA系统的一大类应用. 下面,我们来设计流程审批的数据 ...
- 微信java创建菜单_微信自定义菜单的创建(JAVA版)
微信自定义菜单的创建与使用 需求 当微信公众号设置为开发者模式,想要自己创建和开发菜单的话,就需要自己调用微信创建菜单的接口来创建菜单了.创建菜单之后,如果需要迫切的看到效果,有时候需要取消关注-从新 ...
- Jmeter(四十八)_动态线程分析HTML测试报告
概述 jmeterGUI模式下,性能测试的结果往往误差很大,因为GUI本身就会消耗一部分资源.所以我们常常用命令行去跑性能脚本,得出结果 同时,jmeter在命令行下还可以生成多维度的测试报告,里面包 ...
- ionic入门教程第十八课-初识自定义指令directive oni-bar(tab-bar)
经过这么长时间的学习,我想大家都有了一定的基础了. 这节课尝试着给大家讲点更加深入的东西,能理解的就好好学学,还理解不来的朋友也不要紧,可以当做扩展阅读看看就好. 学习切忌过于急躁. 到目前为止,我教 ...
- 如何查看别人公众号自定义菜单的功能_如何注册自己的个人公众号?手把手教您开启自媒体赚钱之路?...
1.自媒体如何赚钱的? 自媒体其实大家对它并不陌生,我们身边活着生活中很常见.最关键一点很多利用自媒体创业,并且收入年入百万的人不在少数.自媒体我给大家普及一下,"公民媒体"或&q ...
- 五十八、深入了解 Java 中的注解和自定义注解
@Author:Runsen @Date:2020/7/9 人生最重要的不是所站的位置,而是内心所朝的方向.只要我在每篇博文中写得自己体会,修炼身心:在每天的不断重复学习中,耐住寂寞,练就真功,不畏艰 ...
- ubuntu自定义菜单_如何自定义Ubuntu的每日消息
ubuntu自定义菜单 Ubuntu displays an informative message, known as the message of the day, when a user log ...
- 手机屏坏了怎么把里面存东西取出来_三年来,这十八个有关MT4的问题被问了三千遍...
众所周知,MT4软件的功能非常强大,几乎可以满足各类人群的外汇交易需求.但是,功能强大也带来了负面影响,就是繁琐,导致很多功能找不到功能入口. 如果从头到尾学一遍MT4的使众所周知,MT4软件的功能非 ...
- 【Vue2.0】— 组件的自定义事件(十八)
[Vue2.0]- 组件的自定义事件(十八) <template><div ><h2>{{msg}}</h2><!-- 通过父组件给子组件传递函数 ...
最新文章
- 计算机专业毕业生人数稳居前十,你该怎么脱颖而出?
- MongoDB架构——记得结合前面的文章看,里面的图画的很好
- java实现自动收红包功能_Java实现抢红包功能
- FFmpeg简易播放器的实现5-音视频同步
- 太卷了~ 八股文,算法张口就来?2022版Java面试手册帮你全拿捏
- 电脑计算机的硬盘那些可以删除吗,我的电脑出现多个可移动磁盘该怎么删除?...
- 后端技术:Java 程序员常犯的 10 个 SQL 错误!
- 领会CSS,实际中的研究
- Android 系统(115)---死机问题分析
- 苹果高管谈及近期员工担忧,呼吁其向管理层报告职场问题
- c语言中判断一个数是几位数 并顺序输出,统计数字n是个几位数,并将其逆序和顺序输出...
- 【三维路径规划】基于matlab改进的蝙蝠算法农用无人机三维路径规划【含Matlab源码 1514期】
- 20165320 我期望的师生关系
- 【美赛】美赛字体格式和排版要求
- mysql分页查询公式
- Cocos Creator 3D 摇杆控制器一种简单实现!
- ClickHouse和Elasticsearch压测对比,谁是yyds?
- Dreamweaver CS6 破解安装
- 数字金融企业绿色专利匹配数据(2011-2019)
- android手机怎么拍月亮,nubia相机怎么拍月亮 努比亚手机相机拍月亮教程