我先写一个脚本:Nc.js,没有绑定到任何节点上,也没有继承cc.Component,如下图:

然后我又写了一个脚本:Mc.js,并且将其绑定到一个节点上,在该脚本中调用Nc.js,用了下面两种方式,要new一下才可以,要怎样做才不用new,直接require后,就可以用了?别喷我哈,求大神指点


我先写一个脚本:Nc.js,没有绑定到任何节点上,也没有继承cc.Component,如下图:

然后我又写了一个脚本:Mc.js,并且将其绑定到一个节点上,在该脚本中调用Nc.js,用了下面两种方式,要new一下才可以,要怎样做才不用new,直接require后,就可以用了?别喷我哈,求大神指点


用普通对象是可以的
var nc = {
a:1,
b:2,
show: function(){
cc.log("show");
}
}
module.exports = nc
我这边测试是可以的
这里只是把require进来的脚本当作一个类,而这三个属性是不同的类的实例

实例是从场景编辑器里引用过来的节点(声明了这三个属性,这组件所在节点的属性检查器就会有三个类似于这样
的框,你需要从才场景管理器里拖动相应类型的节点到这里),因为场景编辑器里的节点本身就是实例,所以能直接调用其中的方法
而你的代码只是require脚本,并没有实例,所以不能调用脚本里的方法
我都有点说不清楚(虽然我知道是什么原理),反正大概就是,
cc.class是一个类,而不是实例