其实unity虽然不开源,但做插件、自定义组件其实非常轻松,AddComponentMenu的作用,是将一个继承自MonoBehaviour的子类添加到unity编辑器的Component菜单里,官方教程很简单,我随便写了行代码试了一下

[AddComponentMenu("aa/bb")]
    public class TestComp : MonoBehaviour
    {
        public string StringArgument;
    }

无论怎样编译,重启,反正死活不出来,百度,google,bing,把整个互联网翻了个遍,也没找到解决方案,安装最新版的unity,折腾了一天,也一样没用,真的有点怀疑自己十年的编程经验是不是有点水了。

不死心,今天虽然周末,在家里继续搞,突然灵光一闪,既然名为AddComponentMenu,那么是不是表示文件名和类名必须一致呢?试了一下,果真如此,苍天啊。。。

原来是自己太逗比了,一开始抱着测试的心态,并不严谨,随便在一个已经存在的文件里添加了以上的代码,所以unity并不认。

上面废话有点多,总结一下,就是AddComponentMenu是需要文件名和类名一致的,举例:TestComp类必须放在TestComp.cs里,就这么简单,而菜单名,却是随意的。

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐