通过namespace自己写的库,里面定义了一些继承制cc.Componenet的组件,编译后将打包的单个js文件作为插件导入到项目,这时如果在编辑器面板上添加自己的组件,就会报错 Sorry, the component of ‘cocos’ which with an index of 1 is corrupted! It has been removed.查看原型链发现自己的定义的组件变成继承至Object了,但是如果项目中单独写一个脚本继承至插件中的组件,再使用该脚本,又不会报错,请问,如何让namespace中编写的组件可以直接使用?
自己经过几个小时的短点跟踪,似乎找到问题所在了,基于creator的机制,所有组件和资源都必须分配一个uuid,自己写的组件都打包在namespace下的一个聚合js文件中,所以无法为里面的每个组件分配uuid,因此,在namespace聚合JS中的组件,挂载到编辑器中后,无法为该组件保存uuid指向,所以没法保存组件到prefab或scene文件中……哎,悲剧
如果想要在namespace中写组件,那么使用的时候,写个空类继承下吧,也只能这样了……
后续实验得出结论,给类@ccclas(“classname”)加上即可正常运转,前人踩坑,望后人一马平川
3赞
该主题在最后一个回复创建后14天后自动关闭。不再允许新的回复。