Jsb 修改了cocos2d-x引擎, 怎么修改对应的 javascript引擎

都没人知道么, 我点creator的模拟器运行, 是不是根本没用到 javascript引擎.

模拟器是在纯H5环境运行的。你要测试JSB改动,得编译到iOS或Android上运行

我觉得 cocos creator 最好让 模拟器(不是浏览器)运行在 mac/windows 环境下,
我的游戏是用标准socket通讯的, 一旦加入jsb, 每次运行调试都是太难用了.
而且creator构建后把所有的js, 都放到project.dev.js 中. 在那里面写代码太痛苦了,

我觉得一个游戏如果个别功能需要用jsb还可以先在模拟器上运行时屏蔽掉该功能, 如果大部分界面都需要就根本没法用creator.
我已经决定用cocos2d-lua了.

自己顶6个字

我们现在模拟器就是运行在 win / mac 环境下的呀,如果你说的是定制 jsb 的需求,模拟器本身也是可以定制重新编译的

http://cocos.com/docs/creator/advanced-topics/engine-customization.html

对于 project.dev.js 打包这件事,我们在考虑怎么样让这件事更友好一些,可能不会打包所有文件,但是目前还没有清晰的思路,有兴趣可以讨论

模拟器本身确实可以定制重新编译的, 我已经尝试并且成功过(只是在git上面下载了javascript引擎和cocos2d-x引擎, 然后将creator切换到下载的引擎, 当然是没有改动任何代码), 但是如何和jsb联系起来, 官方文档并没有说得很清楚.

模拟器本身确定不是运行在H5环境下? 我的意思是它可能只是是mac/windows上面挂了一个壳, 里面封装了WebView而以,
反正我在浏览器遇到跨越访问问题后, 尝试过模拟器, 模拟器依然会遇到跨域问题, 按道理说native环境根本没有跨域问题.

http://forum.cocos.com/t/js-c-jsb-jsbinding/37909
论坛上只找到一个Windows环境下(不是Windows版的模拟器), 运行成功的例子.
这个例子说的是构建,而不是定制模拟器, 所以jsb后如何定制模拟器, 并没有任何文档.

确定不是,模拟器是通过 JSB 绑定运行 JS 代码的,底层是 Cocos2d-x + Spidermonkey

你说的跨域问题可以发来看看。

如果你使用了外部引擎仓库,然后自己编译模拟器,framework,这个就相当于你自己的定制 JSB 环境了

比如说按照http://forum.cocos.com/t/js-c-jsb-jsbinding/37909
我新增了一个 jsbTest.hpp/cpp, 已经用tojs工具生成好了, jsb_jsbTest_auto.hpp/cpp 和 jsb_jsbTest_auto.js
这些文件应该放到什么位置(什么文件夹下面), 是否需要修改javascript引擎代码.
然后我在AAA.js(不是在构建后的project.dev.js )里面怎么写代码, 才可以调用我的jsbTest::testlog() 方法.

这些文档里面一概没有.
没错 tojs怎么用很简单, 可以参考cocos2d-js, 但是生成后的文件, 由于creator和cocos2d-js不一样, 所以应该放的位置也不一样.所以不能参考
还有怎么在AAA.js里面写代码, 也没有.

这个东西是没有用的

.hpp 和 .cpp 可以放在项目目录的 build/frameworks/runtime-srcs/Classes/ 中,另外,需要在 AppDelegate.cpp 中引用 .hpp 文件,然后在 bool AppDelegate::applicationDidFinishLaunching 函数中添加绑定的注册函数:

// register_all_custom_auto 这个函数的名字可以在 jsbTest.hpp 中找到。
ScriptingCore::getInstance()->addRegisterCallback(register_all_custom_auto);

这样做之后,在你的 JS 脚本中就可以随意调用绑定好的接口了

1赞

谢谢哈, 终于成功了, 我决定还是继续用creator. 毕竟跟着官方走嘛.
想不到js 里面直接写jsbTest::testlog() 就可以了.
毕竟这是静态方法, 如果是要new 一个Class 怎么写呢. 比如说class jsbTest, 用tojs/编译模拟器完成了, 在AAA.js 里面怎么写才可以调用它的构造方法呢.

另外建议把api文档http://api.cocos.com/d6/d1e/group__jsb.html和使用的步骤
这个链接加入到下面这一页上面, 相当多的人都不知道有ScriptingCore这个类, 毕竟很多人以前都没接触过cocos2d-js,
http://www.cocos.com/docs/creator/advanced-topics/engine-customization.html
而且这一页资料后面, JSB 绑定流程 几乎没有提到这些.

1赞