反映一个脚本继承问题

根据现在官方的文档,我采用了babel的polyfill来实现ES6的接口,然后新的组件脚本方式,我是这样写的

const { ccclass, property } = cc._decorator;

import * as ng from “./script/InitEnvironment”;
import { CocosComponent } from “./script/JSComponentBaseClass”;

@ccclass
export default class test extends CocosComponent {

}

其中CocosComponent 继承自cc,Component,这样的结构,就无法将该组件脚本绑定到节点了,会报错:
Can not find cc.Component in the script

换一个操作顺序,先让类继承自cc,Component,然后绑定到节点,然后在修改脚本,使其继承自CocosComponent,如此,可以正常运行,但会提示绑定丢失。

其实我的本意是在CocosComponent 这个自定义类中封装一些公共方法,继承的类都能用,现在只能考虑封装成静态库了,如果能实现的话,希望在未来的版本中能够实现这种继承结构。

经过测试。。。这种继承结构是可以的,是因为其他原因造成的。。。

我的类库中有这样一个功能,我定义了一个日志类,在web环境下使用console.log输出到控制流

在win32环境下,我定义了一个c++的方法可以吧日志写入到文件,问题就出在这里,因为需要一些简单的文件操作,我用到了jsb库的FileUtility,编译时提示jsb未定义,然后我就不能绑定脚本了。。。jsb真的不能用吗?

你需要用 CC_JSB 来分辨执行环境

if (CC_JSB) {
  jsb.FileUtility....
}

否则 jsb 未定义的话会影响脚本加载,脚本加载不了自然就无法绑定到节点了