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

拓展编辑器(十八)_源生自定义菜单相关推荐

  1. JavaEE项目实战(OA系统)之十八_流程审批之一

    JavaEE项目实战(OA系统)之十八_流程审批之一 下面介绍OA系统的另一模块:流程审批. OA系统推崇的是无纸化办公,因此各项事务的流程审批是OA系统的一大类应用. 下面,我们来设计流程审批的数据 ...

  2. 微信java创建菜单_微信自定义菜单的创建(JAVA版)

    微信自定义菜单的创建与使用 需求 当微信公众号设置为开发者模式,想要自己创建和开发菜单的话,就需要自己调用微信创建菜单的接口来创建菜单了.创建菜单之后,如果需要迫切的看到效果,有时候需要取消关注-从新 ...

  3. Jmeter(四十八)_动态线程分析HTML测试报告

    概述 jmeterGUI模式下,性能测试的结果往往误差很大,因为GUI本身就会消耗一部分资源.所以我们常常用命令行去跑性能脚本,得出结果 同时,jmeter在命令行下还可以生成多维度的测试报告,里面包 ...

  4. ionic入门教程第十八课-初识自定义指令directive oni-bar(tab-bar)

    经过这么长时间的学习,我想大家都有了一定的基础了. 这节课尝试着给大家讲点更加深入的东西,能理解的就好好学学,还理解不来的朋友也不要紧,可以当做扩展阅读看看就好. 学习切忌过于急躁. 到目前为止,我教 ...

  5. 如何查看别人公众号自定义菜单的功能_如何注册自己的个人公众号?手把手教您开启自媒体赚钱之路?...

    1.自媒体如何赚钱的? 自媒体其实大家对它并不陌生,我们身边活着生活中很常见.最关键一点很多利用自媒体创业,并且收入年入百万的人不在少数.自媒体我给大家普及一下,"公民媒体"或&q ...

  6. 五十八、深入了解 Java 中的注解和自定义注解

    @Author:Runsen @Date:2020/7/9 人生最重要的不是所站的位置,而是内心所朝的方向.只要我在每篇博文中写得自己体会,修炼身心:在每天的不断重复学习中,耐住寂寞,练就真功,不畏艰 ...

  7. ubuntu自定义菜单_如何自定义Ubuntu的每日消息

    ubuntu自定义菜单 Ubuntu displays an informative message, known as the message of the day, when a user log ...

  8. 手机屏坏了怎么把里面存东西取出来_三年来,这十八个有关MT4的问题被问了三千遍...

    众所周知,MT4软件的功能非常强大,几乎可以满足各类人群的外汇交易需求.但是,功能强大也带来了负面影响,就是繁琐,导致很多功能找不到功能入口. 如果从头到尾学一遍MT4的使众所周知,MT4软件的功能非 ...

  9. 【Vue2.0】— 组件的自定义事件(十八)

    [Vue2.0]- 组件的自定义事件(十八) <template><div ><h2>{{msg}}</h2><!-- 通过父组件给子组件传递函数 ...

最新文章

  1. 计算机专业毕业生人数稳居前十,你该怎么脱颖而出?
  2. MongoDB架构——记得结合前面的文章看,里面的图画的很好
  3. java实现自动收红包功能_Java实现抢红包功能
  4. FFmpeg简易播放器的实现5-音视频同步
  5. 太卷了~ 八股文,算法张口就来?2022版Java面试手册帮你全拿捏
  6. 电脑计算机的硬盘那些可以删除吗,我的电脑出现多个可移动磁盘该怎么删除?...
  7. 后端技术:Java 程序员常犯的 10 个 SQL 错误!
  8. 领会CSS,实际中的研究
  9. Android 系统(115)---死机问题分析
  10. 苹果高管谈及近期员工担忧,呼吁其向管理层报告职场问题
  11. c语言中判断一个数是几位数 并顺序输出,统计数字n是个几位数,并将其逆序和顺序输出...
  12. 【三维路径规划】基于matlab改进的蝙蝠算法农用无人机三维路径规划【含Matlab源码 1514期】
  13. 20165320 我期望的师生关系
  14. 【美赛】美赛字体格式和排版要求
  15. mysql分页查询公式
  16. Cocos Creator 3D 摇杆控制器一种简单实现!
  17. ClickHouse和Elasticsearch压测对比,谁是yyds?
  18. Dreamweaver CS6 破解安装
  19. 数字金融企业绿色专利匹配数据(2011-2019)
  20. android手机怎么拍月亮,nubia相机怎么拍月亮 努比亚手机相机拍月亮教程

热门文章

  1. PDF Editor 6 Pro for Mac(pdf编辑器)
  2. 对JVM还一知半解?这篇文章让你彻底搞定JVM
  3. 云服务器定时执行python脚本
  4. sql查询语句,在表中的一个字段的部分数据中查看其他字段
  5. 从零开始搭建仿抖音短视频App--项目介绍和架构设计演示
  6. 网络工程师必备测试网络软件,网络工程师都知道的几款网络故障诊断工具
  7. 进程间通信:命名管道FIFO(2)
  8. 台湾地震 涉及大陆光缆
  9. python中while True的用处
  10. Python turtle正方形绘制