各位大佬们,小白讨教:
如果我没有理解错的话,
组件脚本相当于一个类模板,可以依附于一个节点上,并且在节点被创建的时候实例化。
那么 非组件脚本会在什么时候被实例化呢?
如果我在另一个脚本里require它,得到的是构造函数还是一个实例?
如果是实例,这个实例是唯一的吗,还是在require一次就新创建了一个?
(原谅我的愚蠢,因为C++习惯了对脚本语言真的不了解……)
比如我自己写一个计算几何的类Geometry,把它设置为module.exports,
module.exports = {
ctor: function () {
this.PI = Math.acos(-1);
},
dist: function (p1, p2) {
return Math.sqrt((p2.x-p1.x)*(p2.x-p1.x) + (p2.y-p1.y)*(p2.y-p1.y));
},
func: function () {
cc.log(this.PI);
// ...
}
// ...
};
在另一个组件中我想用它,
var Geometry = require('geometry');
可是发现dist函数运行正常,但是func就不行,报错PI未定义,而且构造函数也没有被执行。
请大佬们指点。