cocos2dx学习日志(一) 总之先弄个能跑的apk出来吧!

新年新气象,新的一年已经开始好一阵子了。本着人在江湖,技多不压身的原则,最近的开始利用业余时间学习cocos2dx游戏引擎开发,话说自己写个游戏那是我儿时的梦想,哈。

废话不多说直接进正题,首先是准备工作:(我是win7的系统,下面都是基于windows系统的操作)

1.下载cocos2dx,地址:http://www.cocos2d-x.org/download,选择2.2.2或者其他2.x,为什么不选3.0版本,一是 3.0还是beta,不稳定;二是目前大部分的中文文档都是2.x的,你懂的。

2.下载并安装visual studio 2012(08,10,13都是可以的),如果没特殊需求的话,express版即可满足开发需要,地址:http://www.microsoft.com/zh-cn/download/details.aspx?id=34673,个人觉得没有必要什么都安装旗舰版。

好了,最基本的工作就做好了,现在解压cocos2dx的压缩包,比如解压到:D:\Code\game_dev,打开D:\Code\game_dev\cocos2d-x-2.2.2\cocos2d-x-2.2.2,在该目录下找到对应的vs版本的解决方案文件,我这里就是:cocos2d-win32.vc2012.sln,用vs打开,应该是这个样子的

cocos2dx学习日志(一) 总之先弄个能跑的apk出来吧!_第1张图片

然后生成整个解决方案,这个时间可能有点久,全部生成完毕后,其中“hellocpp”,“testcpp”这两个工程可以打开看下,一个cocos2dx的类似hello world的简单界面,另一个则是cocos2dx的各种api的展示。这次的目标就是将hellocpp在android机器上跑起来。(PS:如果有人的vs2012打开解决方案时出现加载失败的话,给vs2012升级下就好了)

下面开始说明如何生成一个能在android手机上可以运行的cocos2dx的应用。首先确认电脑上已经有完整的android开发环境,eclipse + ADT + NDK。NDK推荐新版本,老版本可能还需要cygwin才能编译so,新版已经可以直接运行在windows环境。

1.cocos2dx2.2版本中已经无法通过安装vs项目模板的方法创建工程,取而代之的是使用python脚本来生成工程,具体做法如下:打开cocos2dx的目录:D:\Code\game_dev\cocos2d-x-2.2.2\cocos2d-x-2.2.2\tools\project-creator,运行命令:

python create_project.py -project HelloCocoStudio -package com.john.test -language cpp参数说明:-project [项目名称] -package [包名,要三层,否则会出错] -language [开发语言]。这里要注意python的版本不能是3.x,否则会出错,推荐2.7.3版本。

2.执行完成后,会在目录:D:\Code\game_dev\cocos2d-x-2.2.2\cocos2d-x-2.2.2\projects下生成项目HelloCocoStudio,在项目目录下会有如下的子工程

cocos2dx学习日志(一) 总之先弄个能跑的apk出来吧!_第2张图片

各种能支持c++开发平台的工程都在这里了,win32的工程可以直接用vs打开编译就能运行了

cocos2dx学习日志(一) 总之先弄个能跑的apk出来吧!_第3张图片

android版本则需要进行一些改动,首先是需要将项目目录Resources目录下的资源全部拷贝到android工程的assets目录中,assets没有的话就新建一个。其次是要将D:\Code\game_dev\cocos2d-x-2.2.2\cocos2d-x-2.2.2\cocos2dx\platform\android\java\src下的代码拷贝中android工程的src目录下,这样android工程就调整好了。

接下来需要编译android目录下的so库,这里需要修改下jni目录下的Android.mk,Application.mk文件,Android.mk文件中需要添加:

cocos2dx学习日志(一) 总之先弄个能跑的apk出来吧!_第4张图片

否则会因为找不到关键文件出现编译错误,Application.mk文件则需要添加cpu类型(不加的话默认只有armeabi,我这里生成了两个,当然还有其他类型,不过我没有这些机器):


然后使用NDK工具编译so(NDK使用请参见官方文档),编译完成后,就可以用eclipse打开工程编译生成apk,然后安装到android机器上运行:

cocos2dx学习日志(一) 总之先弄个能跑的apk出来吧!_第5张图片

我是Nexus7所以看上去有点怪。至此,第一个cocos2dx的android应用就跑起来了,有没有一点点小激动呢?cocos2dx的开发个人更倾向于先使用vs开发调试,然后在编译成其他平台的应用。

to be continued


你可能感兴趣的:(cocos2dx学习日志(一) 总之先弄个能跑的apk出来吧!)