地址:http://blog.csdn.net/u012085988/article/details/21618163
Menuitem属性有以下几个功能:
1、在菜单栏中添加菜单
2、在Inspector中添加菜单
3、控制菜单是否可用
4、绑定菜单快捷键
如图:①为菜单栏 ②为insprector中
1、实现菜单栏添加
- [MenuItem("test/item1")]
- public static void haha()
- {
- Debug.Log("this is a test");
- }
上面的代码写入脚本,待脚本编译完成后,在菜单栏就会多一个test菜单,test下有一个item1子菜单。当点击此菜单时,会调用haha函数。
注意:若要使用Menuitem要添加
- using UnityEditor;
2、添加带快捷键的菜单
- [MenuItem("test/item1 %g")]
- public static void haha()
- {
- Debug.Log("this is a test");
- }
很简单,只需要在后边添加%+key。
(win : Ctrl+key, Mac :Cmd + key)
3、控制菜单是否可用
- [MenuItem("test/item1 %g", true)]
- public static bool testt()
- {
- return Selection.activeTransform != null;
- }
MenuItem的第二个参数设置成true,就可以控制菜单是否可用了。
若testt函数返回true,则item1菜单可用。否则不可用(为灰色)。
上面的代码意思是:当选中某个gameObject时,菜单可用。若没选中gameobject,则菜单不可用。
4、在Inspector中添加菜单
- [MenuItem("CONTEXT/Transform/wmtest %g")]
- public static void testttt()
- {
- }
字符串第一个区段是CINTEXT,第二个区段是组件名,第三个区段是菜单名。
与菜单栏一样,这里也可以添加快捷键和控制是否可用。