cocos2D-x初探学习笔记(32)-cocos2d-x & javascript跨平台初体验
2013-03-07 17:38
281 查看
近日,cocos2d家族开始了版本的联合发布,也就是说从cocos2d-x的2.1版本开始,终于可以实现广大开发者期盼已久的一套代码横跨ios,android和html5的梦想了,这次联合发布的包括cocosBuilder,cocos2d-iphone,cocos2d-x和cocos2d-html5版本,这篇文章就是笔者对这套开发工具的初体验经验总结。使用的是第二次联合发布的cocos2d-x的2.1.1版本。
首先是从cocosbuilder中创建项目工程,然后导出的过程,首先创建工程,如图所示:
这个模板工程是这样一个界面,带有写好的js逻辑,点击按钮标题会旋转,然后在菜单中选择导出设置,设置导出的类型和支持的分辨率。
可以选择的包括android,ios和html5,然后在菜单中选择“Publish”就可以分别导出这三种平台需要的资源目录了,如图
然后就是把这三个文件夹中的资源文件分别在三个平台上运行,首先是ios平台,直接使用cocos2d-x就可以,首先创建cocos2d-x的js项目
然后就是把xcode的cocos2dx-js模板项目中的js文件和ccb文件替成新的就可以了,这里有几个地方是需要注意的。
1)这个项目里只有一个启动类AppDelegate,但是替换js时AppDelegate的入口js文件需要修改的,位置很容易找到。
2) 在项目里引入js文件时,xcode不会自动把js文件打入到包里,这样就会出现找不到js文件的情况,我们需要做的就是手动的修改一下,在项目的Build Phase设置里面,有个Copy Bundle Resources项目,手动把js文件添加进去。
编译运行,效果如图所示
接下来是android平台上的运行,关于android平台开发环境的搭建,请参考cocos2d-x的官方文档
http://www.cocos2d-x.org/projects/cocos2d-x/wiki/Setting_up_Android_Development_Environment_on_Mac_OSX#Setup-Eclipse-in-MBP-Retina
值得一提的是,google在eclipse的基础上为android创建了一个集成的开发环境Android Developer Tools,虽然就是以前的eclipse+adt插件+sdk的集合,但是这样的集合也省去了我们配置的时间,另外需要说明的是文档中提到的定义环境变量的问题,需要首先运行pico .bash_profile命令,另外第一行的环境变量名称应该是ANDROID_SDK_ROOT。配置好了环境以后我们就可以运行build_native来编译,需要注意的就是
1)编译的Android.mk文件和Application.mk都需要修改,可以参考Sample下的javascript项目,需要增加一些内容。
2)assert文件夹虽然是自动生成的,但是需要做一项额外的工作,就是把引擎目录或者是lib目录下,“scripting\javascript\bindings\js”目录下的js文件拷入到你的assert目录下,如果你觉得这样麻烦,也可以修改build_native,可以参考Sample下的javascript项目的build_native写法自动把这些文件拷近来,总之这一步是必须的。
3)最后便可以像文档中所说的,在elipse做最后的联机调试,需要说明的是,我在模拟器上运行是报错的,需要用真机调试,我使用的是HTC-G7调试,这个页面的帧率在58左右,跑cocos2dxjs自带的模板时,有很多西瓜的那个页面帧率基本是30-40,可以看出js在android上的效率还是不错的。
最后是html5版本,关于cocos2D-html5的环境搭建,请参照我之前的文章:
http://blog.csdn.net/bill_man/article/details/7668516
在mac上的搭建也是大同小异,下载最新的cocos2D-html5版本然后解压,将目录下的全部文件拷贝到xampp的目录htdocs下,然后在CocosDragonJS同级的目录下创建一个GameClientJS目录,并把Published-html5文件夹拷入,然后启动xampp,输入地址运行cocos2d-html5目录下的index.html页面:
我加了一个GameClientJS的链接,点击这个链接运行ameClientJS\Published-html5目录下的index.html页面。
如有错误之处,欢迎指正。
首先是从cocosbuilder中创建项目工程,然后导出的过程,首先创建工程,如图所示:
这个模板工程是这样一个界面,带有写好的js逻辑,点击按钮标题会旋转,然后在菜单中选择导出设置,设置导出的类型和支持的分辨率。
可以选择的包括android,ios和html5,然后在菜单中选择“Publish”就可以分别导出这三种平台需要的资源目录了,如图
然后就是把这三个文件夹中的资源文件分别在三个平台上运行,首先是ios平台,直接使用cocos2d-x就可以,首先创建cocos2d-x的js项目
然后就是把xcode的cocos2dx-js模板项目中的js文件和ccb文件替成新的就可以了,这里有几个地方是需要注意的。
1)这个项目里只有一个启动类AppDelegate,但是替换js时AppDelegate的入口js文件需要修改的,位置很容易找到。
2) 在项目里引入js文件时,xcode不会自动把js文件打入到包里,这样就会出现找不到js文件的情况,我们需要做的就是手动的修改一下,在项目的Build Phase设置里面,有个Copy Bundle Resources项目,手动把js文件添加进去。
编译运行,效果如图所示
接下来是android平台上的运行,关于android平台开发环境的搭建,请参考cocos2d-x的官方文档
http://www.cocos2d-x.org/projects/cocos2d-x/wiki/Setting_up_Android_Development_Environment_on_Mac_OSX#Setup-Eclipse-in-MBP-Retina
值得一提的是,google在eclipse的基础上为android创建了一个集成的开发环境Android Developer Tools,虽然就是以前的eclipse+adt插件+sdk的集合,但是这样的集合也省去了我们配置的时间,另外需要说明的是文档中提到的定义环境变量的问题,需要首先运行pico .bash_profile命令,另外第一行的环境变量名称应该是ANDROID_SDK_ROOT。配置好了环境以后我们就可以运行build_native来编译,需要注意的就是
1)编译的Android.mk文件和Application.mk都需要修改,可以参考Sample下的javascript项目,需要增加一些内容。
2)assert文件夹虽然是自动生成的,但是需要做一项额外的工作,就是把引擎目录或者是lib目录下,“scripting\javascript\bindings\js”目录下的js文件拷入到你的assert目录下,如果你觉得这样麻烦,也可以修改build_native,可以参考Sample下的javascript项目的build_native写法自动把这些文件拷近来,总之这一步是必须的。
3)最后便可以像文档中所说的,在elipse做最后的联机调试,需要说明的是,我在模拟器上运行是报错的,需要用真机调试,我使用的是HTC-G7调试,这个页面的帧率在58左右,跑cocos2dxjs自带的模板时,有很多西瓜的那个页面帧率基本是30-40,可以看出js在android上的效率还是不错的。
最后是html5版本,关于cocos2D-html5的环境搭建,请参照我之前的文章:
http://blog.csdn.net/bill_man/article/details/7668516
在mac上的搭建也是大同小异,下载最新的cocos2D-html5版本然后解压,将目录下的全部文件拷贝到xampp的目录htdocs下,然后在CocosDragonJS同级的目录下创建一个GameClientJS目录,并把Published-html5文件夹拷入,然后启动xampp,输入地址运行cocos2d-html5目录下的index.html页面:
我加了一个GameClientJS的链接,点击这个链接运行ameClientJS\Published-html5目录下的index.html页面。
如有错误之处,欢迎指正。
相关文章推荐
- cocos2D-x初探学习笔记(32)-cocos2d-x & javascript跨平台初体验
- cocos2D-x初探学习笔记(32)-cocos2d-x & javascript跨平台初体验
- cocos2d-x & javascript跨平台初体验
- Cocos2d-x JavaScript Binding结合CocosBuilder跨平台游戏开发简明教程
- Cocos2d-x使用Javascript开发js绑定C++<代码演示样例>
- Cocos2d-x JavaScript Binding结合CocosBuilder跨平台游戏开发简明教程
- cocos2d-x 2.1.1 -javascript在mac下跨平台编译粗略记录
- Cocos2d-x跨平台 Andro…
- JavaScript学习笔记之数据类型和("32"+32)和("32"-32)输出结果
- 【Cocos2d-X(2.x) 游戏开发系列之二】cocos2dx最新2.0.1版本跨平台整合NDK+Xcode,Xcode编写&编译代码,Android导入打包运行即可!
- cocos2d 使用 C++开发游戏 出现#include "CardSprite.h" 无法引入源文件的情况。
- 开源力量公开课第三十三期- 教你用Cocos2d-x开发跨平台移动应用
- Cocos2d-Java安装和配置跨平台游戏引擎以及相关的开发工具
- html&JavaScript&innerHTML演练(计算器):利用jQuery简化代码
- cocos2d-x 菜鸟学习笔记一(跨平台编译)
- Html a href="#" 与 a href="javascript:void(0)" 的区别
- javascript小技巧&&JavaScript[对象.属性]
- 【iOS-cocos2d-X 游戏开发之十四】Xcode中c++&Object-C混编,详细介绍如何在cocos2dx中访问object函数以及Apple Api
- Cocos2d-x跨Android&iOS平台开发入门