扩展主菜单
在样例中,我们通过配置菜单路径,在主菜单 “Example” > “Foobar” 里加入了 “Foo” 和 “Bar” 两个菜单选项。当我们点击这个菜单项,他会发送定义在其 message
字段中的 IPC 消息到主进程中。比如我们点击 “Foo” 将会发送 my-package:foo
这个消息。
在主菜单中注册中,其键值(Key)需要是一份菜单路径。菜单路径是 posix 路径格式,使用 /
作为分割符。在主菜单注册过程中,Cocos Creator 会根据路径一级一级往下寻找子菜单项,如果在寻找路径中没有找到对应的子菜单,就会在对应的路径中进行创建,直到最后一级菜单,将被当做菜单项加入。
这种情况多发生在多个扩展包之间,当你的扩展包和其他用户的扩展包的菜单注册路径相同时,就会发生该冲突。
注册菜单项的父级菜单已经被其他菜单项注册,其类型不是一个子菜单(submenu)
这个情况和上一种情况类似,我们可以用以下这个例子来说明:
"main-menu": {
"Examples/FooBar": {
"message": "my-package:foo"
"message": "my-package:bar"
}
}
菜单路径是支持 i18n 格式的路径。我们可以写 ,Cocos Creator 会帮助我们查找对应的 i18n 字符串并进行替换。
在上面的例子中,我们已经使用了 message
菜单选项。菜单注册过程中还有许多其他的可选项,例如:icon、accelerator、type 等。更多选项,请阅读。