改api,我只服cocos

我写了一个oc调用js的文件,1.6.2版本写的。现在升级1.8.1,发现ScriptingCore::evalString 方法不能用了。在论坛上找到了这个:

这个是1.7版本的。
到了1.8版本,performFunctionInCocosThread这个方法又没有了。
这么常用的api,每个版本改一次,这样还要怎么玩。
头文件也是找了半天才找到。
改api,我真的只服cocos。

1赞

这种api如果真改了,也是厉害了

对,爱用不用!

我能说啥?FC

https://github.com/cocos-creator/cocos2d-x-lite/blob/v1.8-release/cocos/base/CCScheduler.cpp#L824-L831

performFunctionInCocosThread 这个 API 是一直存在的

https://github.com/cocos-creator/cocos2d-x-lite/blob/develop/cocos/base/CCScheduler.h#L432

至于前面提到的 evalString 的改动,是由于在 1.7 我们升级了 JSB 到 JSB 2.0,绑定层面的 API 确实更新换代了,我们从支持 Spidermonkey 更到到同时支持 JSC,v8,Spidermonkey,这必然导致绑定层 API 的调整,我们通过文档给出了更新的说明

http://docs.cocos.com/creator/manual/zh/advanced-topics/jsb/JSB2.0-learning.html

这个升级也是迫不得已,为了原生平台的性能和稳定性考虑,不得不抛弃 Spidermonkey,性能和稳定性的提升开发者不太容易感受到,但是兼容性的破坏确实是最容易感知的,不过也请各位理解我们的初衷,从来不会为了改而改的。

有没有改 performFunctionInCocosThread ,自己找找编译出错的原因,别动不动就说删API。
全局搜索不会么?

引擎内那么多地方有用这个函数,怎么可能删。激动个什么劲。有错误,我们会承认,没错的别瞎扣帽子。

1赞

要批评要有理有据。 过分了老铁。

performFunctionInCocosThread 这个方法确实有,头文件没引对。