山海鲸中每一个二次开发文件应该都是一个 JS 的类,如果代码中不显式继承 Extension 类,运行时也会自动隐式继承 Extension。
Extension 类的生命周期函数有 4 个,分别是 init,ready,update 和 destroy。
1 | class Button { |
初始化函数包含 init 方法和 ready 方法,其中初始化代码一般写在 init 里面,但如果初始化时需要依赖其他组件的初始化,则应写在 ready 中,因为 ready 函数是在所有组件的 init 函数都调用完毕之后才会被调用。
update 函数可以用来实现各种动画效果,在鲸孪生的二开中使用较多,画面每渲染一帧时都会被调用一次,这个函数中不宜写过重的计算代码,否则会造成严重的项目卡顿。建议应该在 init 函数中把比较消耗性能的计算都预计算好,直接在 update 函数中进行调用。
如果在初始化或者 update 函数中创建了比较大的数组或其他资源,一定要在 destroy 函数中清空掉,比如将数组的 length 设置成 0 或者调用 map 的 clear 方法等等。
具体生命周期函数的介绍还可以参考 API 文档: