根据现在官方的文档,我采用了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 这个自定义类中封装一些公共方法,继承的类都能用,现在只能考虑封装成静态库了,如果能实现的话,希望在未来的版本中能够实现这种继承结构。