调用父类构造函数

请问一下子类构造函数要如何调用父类构造函数?

// 文档中说不要像下面这样写,不过这样在web和模拟器上都可以
// 但是在android上报 _super 不是 function
ctor: function(argv1, argv2){
    this._super(argv1);
}

http://www.cocos.com/docs/creator/scripting/reference/class.html

// 文档中提到要调用父类的构造函数可以写在 __ctor__ 中。。
// 但是我发现实例化的时候并没有调用到 __ctor__
__ctor__: function(argv1, argv2){
    this._super(argv1);
}

Class 相关的文档更新得还是挺及时的,它说不要调用就不要调用。
__ctor__ 不能和 ctor 同时定义,而且里面也不能用 this._super

1赞

好的。谢了。。。

发现是因为 C:\CocosCreator\resources\cocos2d-x\cocos\scripting\js-bindings\script 里面的脚本是没编译成jsc的。。
而且我的类是继承cc.DelayTime的。。。所以打包出来,我自己的代码是jsc,而script里面的是js,导致找不到 super。。

请问下打包的时候什么情况才会把 script里面的脚本编译成jsc?我记得以前打包好像有打出jsc的来过

引擎内的脚本都不会编译成 jsc… 不过应该跟是不是 jsc 无关。而是因为 cc.DelayTime 目前不是 CCClass,用 CCClass 去继承的话估计会有问题。建议先手动调用父构造函数,或者不用 CCClass……

不过我把script里面的js编译成jsc就没报 this._super 那个错误了。。

我的代码类似下面这样的。。。是手动调用父构造函数的

MyAction.BezierBy = cc.DelayTime.extend({
   ctor: function (argv0, argv1) {
       this._super(argv1);
   } 
});

哦,我知道了…… jsc 是会有一些 bug