一.环境配置
(一)IOS环境配置
1.下载最新的cocos2d-x 2.2.0 http://cocos2d-x.org/projects/cocos2d-x/wiki/Download
还需要下载cocos2d-x 2.1.5 直接搜索就能找到 这里有个百度网盘的:
http://pan.baidu.com/share/link?shareid=228883340&uk=3909187214
2.下载xcode
(二)Android环境配置
1.下载eclipse http://developer.android.com/sdk/index.html
2.下载ndk http://developer.android.com/tools/sdk/ndk/index.html
3.运行eclipse,如果没有安装jdk,第一次运行时候,会提示安装jdk
4.打开终端 用vim打开环境变量配置文件,输入
按esc,再命令
里面的路径对应你相应的下载路径
如果找不到bash_profile 参考http://linuxp.blog.163.com/blog/static/170962772012310492482/
启动终端Terminal
进入当前用户的home目录
输入cd ~
创建.bash_profile
输入touch .bash_profile
编辑.bash_profile文件
输入open -e .bash_profile
保存文件,关闭.bash_profile
更新刚配置的环境变量
输入source .bash_profile
7.创建android项目(cocos2d-x2.2.0新方式)
打开终端,cd到你下的project-creator的目录下,如/Users/fi/Documents/MyD/cocos2d-x/cocos2d-x-2.2.0/tools/project-creator
执行
下面有一些系列的参数输入格式,你按照你的需要就行了,如:./create_project.py -project firstsss -package com.firstp.ppp -language cpp
8.由于cocos2d-x2.2.0版本有些奇怪,需要用到2.1.5版本的生成一样名字的项目里面的 .cproject文件才可以跟ecplise兼容
打开终端,cd到 文件目录/cocos2d-x/cocos2d-x-2.1.5 如/Users/fi/Documents/MyD/cocos2d-x/cocos2d-x-2.1.5
运行
Input package path. For example: org.cocos2dx.example
输入跟2.2生成项目同样的包名 ,如
input target id:
输入最高版本的Android id :
input your project name:
输入项目名称:
输入跟2.2生成项目同样的包名 如
成功之后 cocos2d-x 2.1.5的目录下多了一个firstsss的项目文件夹
先打开eclipse,打开eclipse File->New->Project...->Android Project from Existing Code ->next ->Browse
打开终端 cd /Users/fi/Documents/MyD/cocos2d-x/cocos2d-x-2.1.5/firstsss/proj.android
复制.cproject文件,由于.文件是隐藏文件需要在终端复制,才能复制到cocos2d-x-2.2.0/projects/firstsss/proj.android/cproject的目录里
9.打开eclipse File->New->Project...->Android Project from Existing Code ->next ->Browse
选择2.2生成的项目文件 /Users/fi/Documents/MyD/cocos2d-x/cocos2d-x-2.2.0/projects/firstsss
->Finish
还要再添加一个项目File->New->Project...->Android Project from Existing Code ->next ->Browse
选择路径 /Users/fi/Documents/MyD/cocos2d-x/cocos2d-x-2.2.0/cocos2dx/platform/android/java
->Finish
作为一个项目添加进来, 即可解决报错问题.
如果项目再报错的话,把 firstsss 项目删掉,重新再导入就好了,删除的时候注意别选勾 ,勾了就完全删除,就没得重新导入了,那就蛋疼了
10.一些奇怪的错误
(1)如果出现NDK_MODULE_PATH之类的错误的话
将 cocos2d-x/cocos2d-x-2.2.0目录下的cocos2dx ,CocosDenshion , extensions ,external四个文件 复制到 android-ndk-r9/source 目录下
还有将 cocos2d-x/cocos2d-x-2.2.0/cocos2dx/platform/third_party/android目录下的5个文件复制到android-ndk-r9/source 目录下
(2)如果出现java.lang.IllegalArgumentException: No configs match configSpec 这样的错误的话
模拟器不支持OpenGL ES 2.0
是因为android模拟器不支持OpenGL ES 2.0,解决办法:创建模拟器时:GPU emulation选yes,需要android 4.0以上的版本才行。使用真机没有这个问题。
(3)如果运行之后,画面是黑色的话
将cocos2d-x/cocos2d-x-2.2.0/projects/firstsss/Resources 目录下的3张贴图复制到cocos2d-x/cocos2d-x-2.2.0/projects/firstsss/proj.android/assets
11.还有一个奇怪的问题
就是在ecplise项目里面的Classes 文件夹居然打不开,不能展开,看不到文件夹里的代码文件。用文件浏览就能看到的那些代码文件,也不会报错,就是项目文件夹里有个感叹号。解决方案:http://kzq163.blog.163.com/blog/static/136137676201392923157506/
废话不多说直接进正题,首先是准备工作:(我是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打开,应该是这个样子的
然后生成整个解决方案,这个时间可能有点久,全部生成完毕后,其中“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,在项目目录下会有如下的子工程
各种能支持c++开发平台的工程都在这里了,win32的工程可以直接用vs打开编译就能运行了
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文件中需要添加:
否则会因为找不到关键文件出现编译错误,Application.mk文件则需要添加cpu类型(不加的话默认只有armeabi,我这里生成了两个,当然还有其他类型,不过我没有这些机器):
然后使用NDK工具编译so(NDK使用请参见官方文档),编译完成后,就可以用eclipse打开工程编译生成apk,然后安装到android机器上运行:
我是Nexus7所以看上去有点怪。至此,第一个cocos2dx的android应用就跑起来了,有没有一点点小激动呢?cocos2dx的开发个人更倾向于先使用vs开发调试,然后在编译成其他平台的应用。