(Editor)在Unity上自定义菜单

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

Menuitem属性有以下几个功能:

1、在菜单栏中添加菜单

2、在Inspector中添加菜单

3、控制菜单是否可用

4、绑定菜单快捷键

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

 

1、实现菜单栏添加

 

[csharp]   view plain copy
  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 plain copy
  1. using UnityEditor;  

 

 

2、添加带快捷键的菜单

 

[csharp]   view plain copy
  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 plain copy
  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 plain copy
  1. [MenuItem("CONTEXT/Transform/wmtest %g")]  
  2. public static void testttt()  
  3.    {  
  4.   
  5.    }  

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

 

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值