最近在接入某SDK,其中有函数需要在update中调用,目前使用js调用C++的方式,但是性能下降比较厉害
所以考虑用C++写个自定义的node,导出给js,这部分已经完成.
但是将其addChild到场景中后(js中),并不会响应update函数,包括onEnter/onExit等.
不知道问题出在哪,求教.
最近在接入某SDK,其中有函数需要在update中调用,目前使用js调用C++的方式,但是性能下降比较厉害
所以考虑用C++写个自定义的node,导出给js,这部分已经完成.
但是将其addChild到场景中后(js中),并不会响应update函数,包括onEnter/onExit等.
不知道问题出在哪,求教.
请问你是怎么样在 js 层使用这个自定义的节点的呢?
在 Creator 中,有逻辑树与渲染树两个概念。在 C++ 层定义的 node 是渲染树的节点,要在 js 层使用,需要通过 js 层的 node._sgNode 来 addChild 进行使用。参考代码:
// this 是脚本组件,this.node 是逻辑树的节点。
// this.node._sgNode 是逻辑树节点对应的渲染节点。
this.node._sgNode.addChild(customNode);
customNode.scheduleUpdate();
之前用的this.node.addChild(customNode);
现在按照你的方法,已经能准确地触发这些回调了
非常感谢!