Cocos2d-x 开发之环境搭建

Cocos2d-x 开发之环境搭建

一、 簡介

Cocos2d是使用object-c语言开发,运行于ios系统的一款游戏引擎,为了让这款引擎能在更多的平台使用,国内的牛人根据cocos2d开发出了cocos2d-x,采用c++开发。Cocos2d-x这个开源项目的目标是让用户创建跨平台的代码。支持的平台有iOS、Android、WinPhone、Win32平台上等。

优点:基于OpenGL ES,跨平台等;

缺点:相关文档并不完善,引擎各版本之间API经常有变动,例如前一版本中的某个接口,在下一个版本中可能名称被修改或是调用方式完全修改,这对开发者会造成一定的困扰。

我开始cocos2d-x开发之路时,是需要根据一份ios代码,完成相应的android版本,所以我采用的方式是window下eclipse和mac虚拟机下xcode共同完成的,即在eclipse和xcode中分别创建基于cocos2d-x的工程,将xcode工程资源目录指向eclipse中工程目录地址,在xcode编写代码并使用iphone和ipad模拟器运行,在eclipse中使用NDK编译后运行。

二、 環境搭建

1.从http://cocos2d.cocoachina.com/下载一份cocos2d-x引擎包(我目前使用的是2.1.2版本),解压;

2.在windows下配置好JDK+eclipse+ADT环境,启动eclipse;

3.下载NDK的包(如http://dl.google.com/android/ndk/android-ndk-r7-windows.zip),解压;

4.下载cygwin;

5.编辑cocos2d-x目录下的create-android-project.bat,将set _CYGBIN、set _ANDROIDTOOLS和set _NDKROOT分别改为相应路径,例如:

set_CYGBIN=D:\cygwin\bin

set_ANDROIDTOOLS=D:\android-sdk\tools

set_NDKROOT=D:\android-ndk-r8b-windows\android-ndk-r8b

6.创建android工程:双击create-android-project.bat(如提示没有权限之类的,就右击然后点击“Run as administrator”),根据相关提示输入相关信息即可。

7.创建完毕会在相应工程下看到三个文件夹:Classes、proj.android和Resources,其中Classes中存放的是c++编写的代码,Resources中存放资源文件,proj.android存放的是android工程;

8.导入proj.android中的工程到eclipse中;

9.配置NDK环境:

右击项目-》属性-》Builders-》添加NDK的项





NDK_MODULE_PATH的设置如:D:\cocos2d-2.1rc0-x-2.1.2-hotfix\cocos2d-2.1rc0-x-2.1.2;D:\cocos2d-2.1rc0-x-2.1.2-hotfix\cocos2d-2.1rc0-x-2.1.2\cocos2dx\platform\third_party\android\prebuilt

10. 在手机上运行,正常时会看到一张图片;

11. 修改Classes下的代码或是点击clean,会在控制台看到NDK重新编译c++代码,编译成功时会提示生成了game.so文件,android代码中正是使用JNI调用该文件从而在android手机中运行的。

eclipse中再安装好CDT,就可以直接在eclipse编写C++代码了,由于我还需要在ios系统运行,下面接着介绍如何在mac系统中配置cocos2d-x开发环境。

12. 没有mac开发机,为了能使用同一份代码,故我在windows系统中安装了mac虚拟机(如果你是mac系统,可直接安装eclipse),安装好xcode;

13. 拷贝cocos2d-x的包到mac系统,在终端中运行:

cd$COCOS2DX_HOMEsudo./install-templates-xcode.sh–u

其中$COCOS2DX_HOME为cocos2d-x在你的mac系统中的目录。

14. 打开xcode,创建项目,会在项目模板中看到cocos2dx,使用该模板创建项目;

下面让xcode中的项目使用windows下eclipse中的资源

15. Finder-》前往-》连接服务器-》smb://10.200.x.xx-》连接(其中10.200.x.xx为windows下电脑的ip地址,在windows中将eclipse工程的路径设置为共享,mac下连接之后,即可看到共享目录);

16. 将xcode工程中的Classes和Resources删除,右击xcode工程目录-》add files to “”,选择工程目录中的Classes和Resources目录-》add。

17. 现在xcode工程使用的即是windows中eclipse工程中的代码和资源文件,在xcode中修改,在eclipse中会马上看到新修改的,反之亦然。在xcode中使用iphone虚拟器运行,看到的效果跟在eclipse中运行的一样。

三、 連接

官網:http://cocos2d.cocoachina.com/

四、 常见问题:

1.在下载cygwin时,需要将Devel项由Default改为Install再继续,否则装好的cygwin中make等命令都默认没有安装的;

2.使用cygwin时,经常出现Permiss Denied 错误,会发现是项目创建后很多文件没有读写权限,可使用命令chmod-R 777 * 将所有子目录权限都递归一并修改了;

3.在使用cocos2d-x中的create-android-project.bat 创建工程时,有时候权限不够,可以右键使用管理者身份运行;运行有时会因为目录位置报错,可以在文件的第一句配置一下:cd/d %~dp0

4.The lowest version cocos2d-x supports isandroid-8。所以在創建android項目時,輸入id需要輸入版本大於等於8的id;

5.在eclipse运行编译时,添加到了Resource下的图片等资源,需要手动复制一份到assets下面(直接用cygwin编译就不用)。

6.编译Coco2d-x android 程序出现make: *** No ruleto make target ...CCConfiguration.o'. Stop.

解决办法:将eclipse工程中的obj文件夹删除重新编译。(详解请见:http://www.jb51.cc/article/p-zhlttdwo-ym.html

相关文章

    本文实践自 RayWenderlich、Ali Hafizji 的文章《...
Cocos-code-ide使用入门学习地点:杭州滨江邮箱:appdevzw@1...
第一次開始用手游引擎挺激动!!!进入正题。下载资源1:从C...
    Cocos2d-x是一款强大的基于OpenGLES的跨平台游戏开发...
1.  来源 QuickV3sample项目中的2048样例游戏,以及最近《...
   Cocos2d-x3.x已经支持使用CMake来进行构建了,这里尝试...