`
longerdewo
  • 浏览: 29827 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

(Editor)在Unity上自定义菜单

 
阅读更多

地址:http://blog.csdn.net/u012085988/article/details/21618163

Menuitem属性有以下几个功能:

1、在菜单栏中添加菜单

2、在Inspector中添加菜单

3、控制菜单是否可用

4、绑定菜单快捷键

如图:①为菜单栏 ②为insprector中

 

1、实现菜单栏添加

 

[csharp] view plaincopy
  1. [MenuItem("test/item1")]  
  2. public static void haha()  
  3.    {  
  4.        Debug.Log("this is a test");  
  5.    }  

上面的代码写入脚本,待脚本编译完成后,在菜单栏就会多一个test菜单,test下有一个item1子菜单。当点击此菜单时,会调用haha函数。

 

注意:若要使用Menuitem要添加

 

[csharp] view plaincopy
  1. using UnityEditor;  

 

 

2、添加带快捷键的菜单

 

[csharp] view plaincopy
  1. [MenuItem("test/item1 %g")]  
  2. public static void haha()  
  3.    {  
  4.        Debug.Log("this is a test");  
  5.    }  


很简单,只需要在后边添加%+key。

 

(win : Ctrl+key, Mac :Cmd + key)

 

3、控制菜单是否可用

 

[csharp] view plaincopy
  1. [MenuItem("test/item1 %g"true)]  
  2. public static bool testt()  
  3.    {  
  4.        return Selection.activeTransform != null;  
  5. }  

MenuItem的第二个参数设置成true,就可以控制菜单是否可用了。

 

若testt函数返回true,则item1菜单可用。否则不可用(为灰色)。

上面的代码意思是:当选中某个gameObject时,菜单可用。若没选中gameobject,则菜单不可用。

 

4、在Inspector中添加菜单

 

[csharp] view plaincopy
  1. [MenuItem("CONTEXT/Transform/wmtest %g")]  
  2. public static void testttt()  
  3.    {  
  4.   
  5.    }  

字符串第一个区段是CINTEXT,第二个区段是组件名,第三个区段是菜单名。

 

与菜单栏一样,这里也可以添加快捷键和控制是否可用。

分享到:
评论

相关推荐

    Unity3D 自定义树组件(树形菜单)

    这是一个完整的Unity树形菜单项目工程,菜单可以进行折叠,点击某个节点,可以显示出所点击菜单的信息。

    Amplify Shader Editor v1.8.9.012.unitypackage

    创建节点或新的着色器就如在项目资源管理器窗口中创建新的 Unity 材质一样直观。 开放客户的参与,例如节点、改进、错误修复或第三方支持等。我们的目标是提供一种强大且灵活的工具,可以轻松地将其应用于现有的...

    unity3d-custom-popup:Unity编辑器界面的自定义弹出控件,将弹出菜单的构造推迟到显示为止。 这对于弹出窗口的构建成本相对较高的情况很有用

    Unity编辑器界面的自定义弹出控件,将弹出菜单的构造推迟到显示为止。 这对于构造弹出窗口相对昂贵的情况非常有用。 $ yarn add rotorz/unity3d-custom-popup 该软件包与工具兼容。 有关将程序​​包同步到Unity...

    TemplateUtil:易于自定义的Unity脚本模板

    在Unity的“项目”视图中时,右键单击“ Create菜单。 选择列表顶部的脚本模板之一,以从所需模板创建新脚本。 修改/添加模板 模板作为.cs.txt文件存储在Assets/Plugins/TemplateUtil/[TEMPLATE CAT

    Unity中的ConsolePro插件

    Unity中的ConsolePro插件,更准确地说是Editor Console Pro,是一款用于替代Unity原生控制台编辑器的插件,它在Unity的开发者社区中得到了广泛的应用和好评。以下是关于Editor Console Pro插件的详细解释: 主要功能...

    Amplify Shader Editor V1.8.9.009.unitypackage

    创建节点或新的着色器就如在项目资源管理器窗口中创建新的 Unity 材质一样直观。 开放客户的参与,例如节点、改进、错误修复或第三方支持等。我们的目标是提供一种强大且灵活的工具,可以轻松地将其应用于现有的...

    Clean.unitypackage

    资源清理插件 使用方法: 1.首先将插件导入工程中。 (内容只有4个脚本:  FindUnusedAssets是这个工具的主要入口,实现了编辑器的扩展菜单及其内部调用。...3.在实战中,我们可以根据需求自定义查找文件的格式

    UnityTreeView

    基于UGUI开发的树形菜单,能够实现自动排布,自适应布局等,能够节约您大量的开发时间无版本限制,现在降价大促销!!!

    Amplify Shader Editor-1.9.1

    创建节点或新的着色器就如在项目资源管理器窗口中创建新的 Unity 材质一样直观。 开放客户的参与,例如节点、改进、错误修复或第三方支持等。我们的目标是提供一种强大且灵活的工具,可以轻松地将其应用于现有的...

    Runtime Editor 3.5.2 运行时场景编辑器

    为了实现用户界面和核心功能,运行时编辑器使用了变换句柄、小工具、存档加载子系统和三个控件:菜单、虚拟化树状视图,以及程序坞面板。支持标准管线、HDRP、URP,Unity 2019.4.38或以上版本。

    UnityPhotosphericView:使用倒法线球的等矩形光球视图

    生成具有自定义半径(例如20)的程序球体(法向倒置)(菜单> GameObject>插入其他>倒置球...) 使用equirectangular.shader作为球体的材质 基本源文件 笔记 最初想法的问题是,与常规的不亮着色器相比,纹理存在很...

Global site tag (gtag.js) - Google Analytics