cocos2d-html5 打包后JSB不支持的方法汇总

cocos2d-html5 打包后JSB不支持的方法汇总,第1张

概述http://blog.163.com/mqsy_yj/blog/static/2940499220131011101730101/ 用cocos2d-html5开发游戏确实很方便,但在web browser 下运行与打包成app发布到移动设备上运行却是两码事。 相信大家和我一样,遇到过打包后运行app报 cc.pToAngle is not a function。原因是JSB没有绑定相关方法的实

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等方法进行绑定,所以会报错。当然这些方法的实现是很简单的,估计官方也是因为这样才不屑于写吧。 有简单且一劳永逸的方法,在cocos2d-HTML5/cocos2d/support目录下复制CCPointExtension.Js到自己的项目目录中就可以了,用法没有任何的改变。 但是也有像cc.radians_TO_degrees这样的方法CCPointExtension.Js并没有实现,还是需要在自己的Js项目里在不同的空间名下实现同名的方法。下面就把这些方法的实现列出来以供参考。
              cc.pToAngle:                          YJ=function(point){                      returnMathatan2y,x);                    };                                       pForAngle:                          angle){                   p(cos),sin));                   };                                       cc       .       radians_TO_degrees       :                           YJ        .        radians_TO_degrees        =                function        (        angle        ){                                 return        *                180                /                Math        PI        ;                               };                                    cc        degrees_TO_radians        :                               YJ         .         degrees_TO_radians         =                  function         (         angle         ){                                     return         /                  180                  *                  Math         PI         ;                                   };                                            .        Sequence        create        ():                      这个方法在        JsB        中是不支持传出一个数组[]作为参数的,但在绝大多数情况下,我们也不知道会有多少        action        ,所以也不能将参数一个一个的写进去,像这样:        a1        a2        a3        中是支持传入        arguments        的,所以我们换个写法就能轻松搞定了,奇迹就在下面:                      apply        (        null        actArray        );                                    Spawn        这个方法与        有相同的问题,解决方法也类似:                      );                        
还有一些无法解决的问题也列出来。

1.cc.LoaderScenegetInstance()不支持,但提供了Loaderpreload(),该方法返回唯一实例

JsB中无效,具体情况请移步:cocos2d-html5 关于中资源的预加载

2.ccLabelTTFextend()不支持,即无法继承,如果要二次开发,只能自己写个封装类

3.ccSpriteBatchNode也没有提供支持,所以也需要自己封装一下来做二次开发用

总结

以上是内存溢出为你收集整理的cocos2d-html5 打包后JSB不支持的方法汇总全部内容,希望文章能够帮你解决cocos2d-html5 打包后JSB不支持的方法汇总所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/web/1018801.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存