打包的apk和web不一样额 web可以运行 apk 运行不了
而且 调试不了呀
基本只能作网页
是的,昨天我也试了下,发现挺多错误的。
我只是小玩了下,就连续发现三个问题:
1.jsb上的语法严格得多,例如convetToWorldSpaceAR这个函数,如果不传入参数,在WEB上不会报错,但到原生上,就会传出参数错误的error
2.jsb上不能直接cc.log(某个不为字符串的变量),不然会出错,必须 cc.log(" " + 变量)才行。
3.这也是最严重的一个,你们可以动手做下试验,场景里只有一个节点,节点上有两个组件,一个sprite,一个自定义的脚本,里面只有一句函数,就是在onLoad里加入this.node.destroy(),
在web上是可以正常执行的,游戏启动后,该node会被destroy,但在jsb上,会分以下两种情况,如果sprite组件在上,自定义脚本在下,那么正常执行,如果顺序反过来,那么destroy这个函数会失效。
JSB 和 Web 的底层框架的确是不一样的,在 Web 版本运行正常的情况下,的确有可能在 JSB 上跑起来有问题。需要注意几点
- 严格遵守 API,比如 convertToWorldSpace 这样的 API,定义中就包含一个参数,那么请不要省略它。另外有很多私有在 JSB 中也是不支持的,请谨慎使用
- 部分 API 的表现不一致,这个我们都会当作 bug 来处理,尽量抹平两者的差异,cc.log 我们会尽快处理
- 如果遇到问题,模拟器中可能无法提供太多的报错信息,但是可以 build 出调试模式下的 Native 版本,再使用 VS 或者 Xcode 运行,基本都可以定位到问题所在
- 发布 Native 的成本目前还没有降到 0,这点请理解,我们会尽力完善
很正常,有很多时候都是web上可以运行,但是win32就运行不了或者卡死