http://blog.163.com/mqsy_yj/blog/static/2940499220131011101730101/
用cocos2d-html5开发游戏确实很方便,但在web browser 下运行与打包成app发布到移动设备上运行却是两码事。
相信大家和我一样,遇到过打包后运行app报
cc.pToAngle is not a function。原因是JSB没有绑定相关方法的实现。
JSB绑定文件在cocos2d-x/scripting/javascript/bindings目录下,在cocos2d_specifics.cpp的3548行开始都是cc.p相关的一些方法,我可以看到确实没有对pToAngle、pForAngle等方法进行绑定,所以会报错。当然这些方法的实现是很简单的,估计官方也是因为这样才不屑于写吧。
但是也有像cc.radians_TO_degrees这样的方法在
CCPointExtension.js并没有实现,还是需要在自己的js项目里在不同的空间名下实现同名的方法。下面就把这些方法的实现列出来以供参考。
还有一些无法解决的问题也列出来。cc.pToAngle:YJ=function(point){returnMathatan2y,x);};pForAngle:
1.cc.LoaderScenegetInstance()不支持,但提供了Loaderpreload(),该方法返回唯一实例
在JSB中无效,具体情况请移步:cocos2d-html5 关于中资源的预加载
2.ccLabelTTFextend()不支持,即无法继承,如果要二次开发,只能自己写个封装类
3.ccSpriteBatchNode也没有提供支持,所以也需要自己封装一下来做二次开发用