添加菜单到菜单栏有两种方式都是使用Menuitem标签
Menultem(string itemName)
Menultem(string itemName,bool isValidateFunction,int Priority)
iteamName传的是这个菜单的名字,或者路径,可以用“/”来做层级区分比如:
Menultem(“MyMenultem/Menult1/Create”)
static void CreatFunction(){}
bool isValidateFunction
参数是用来标记当前菜单是否可用的参数,当这个参数为True的时候 方法返回值也必须是 bool 类型,如果返回值为True 当前菜单可用,如果为false 菜单会变灰
[MenuItem("MyMenultem/Menult1/Create2",false)]
static void Creat2Function(){}
我们先看一下为false的时候当前是可选中的:
然后我们把这个参数变为True,在下方重新写一个方法加上标签,只有当我们选中一个Transform的时候才会可以点击,不然就会灰色显示:
[MenuItem("MyMenultem/Menult1/Create2",true)]
static void Creat3Function()
{
return Selection.activeTransform != null;
}
当我们没有选中一个Transform时候:
当我们选中一Transform的时候:
int priority
是一个整数,用来标识菜单的顺序的,用来给菜单项排序
我们在上面的两个菜单中加入这个参数测试下:
[MenuItem("MyMenultem/Menult1/Create",false,1)]
[MenuItem("MyMenultem/Menult1/Create2", false,0)]
我们就会发现,Createa2 到了第一个上面
快捷键:
我们在看Unity自带的菜单中有一些快捷键,我们现在自定义一下快捷键的功能:
我们给上面Create 菜单中加一个Ctrl+T的快捷键:
[MenuItem(“MyMenultem/Menult1/Create %T”,false,1)]
看一下:
快捷键:
- %(Ctrl) #(shift) &(Alt)
- LEFT RIGHT UP DOWN
- F1 F2 F3 … F12
- HOME, END, PGUP, PGDN