一、下载cocos2d-x

http://cocos2d-x.org/projects/cocos2d-x/wiki/Download

cocos2d-x-2.1.4.zip @ June.18, 2013

我们可以看到最新版本的2.1.4,这个版本提供了一个用python命令来建立各平台的项目,十分便利

下载,解压(建议解压到主目录下的)

二、下载python

http://www.python.org/getit/

建议选择2.7.5版本的下载

Python 2.7.5 Mac OS X 64-bit/32-bit x86-64/i386 Installer
Python 2.7.5 Mac OS X 32-bit i386/PPC Installer

下载,安装,然后在终端直接输入python,如果出现版本信息则安装成功。

三、建立cocos2d-x项目

进入终端,执行以下命令

cd ~/cocos2d-x-2.1.4/tools/project-creator/
python create_project.py -project game01 -package com.ookcode.game -language cpp

create_project.py要求提供3个参数(工程名:我这里是game01,包名:我这里是com.ookcode.game,语言:cpp | js | lua)

执行成功会显示以下信息

proj.ios        : Done!
proj.android : Done!
proj.win32 : Done!
proj.mac : Done!
proj.blackberry : Done!
proj.linux : Done!
proj.marmalade : Done!
New project has been created in this path: /Users/ookcode/cocos2d-x-2.1.4/projects/game01
Have Fun!

进入game01目录,你可以看到这些项目

Classes
Resources
proj.android
proj.ios
proj.mac
proj.win32
proj.blackberry
proj.linux
proj.marmalade

怎么样,全平台都给你搭好了,而且共用一个Classes文件夹,也就是说你在一个平台更新了代码,全平台都得到了更新。

四、编辑ios项目

进入game01/proj.ios/目录,直接双击打开game01.xcodeproj(别说你没装xcode)

然后点run就可以跑起来了

我在这里曾经犯了一个很2的错误,就是一直在cocos2dx这个目录下run,死活跑不起来

这里要选中game01,不然就变成一直在build cocos2dx了

这个HelloWorldScene.cpp就是你的代码了,你可以自己修改,不过由于所有平台用的都是这个,所以改了之后记得在其他平台也跑下

五、编辑安卓项目(重点,这个比较复杂)

1.下载ADT Bundle

http://developer.android.com/sdk/index.html

(解压到主目录,重命名为adt-bundle,为了下面写路径方便)

2.下载NDK(目前最新版本是:android-ndk-re8)

http://developer.android.com/tools/sdk/ndk/index.html

(解压到主目录)

3.为Eclipse安装CDT插件

打开eclipse,选择菜单Help/Install New Software

在Work With下拉框中选择自己eclipse的版本名,然后在插件里选中Programming Languages,打开下拉列表

选择C/C++ Development Tools安装,重启eclipse

这是你可以新建一个c++的HelloWorld项目试一试

当你运行的时候可能会有如下错误:

gcc: command not found

g++: command not found

打开xcode->preferences->Downloads

你需要下载安装Command Line Tools,安装完成后,重启Eclipse,然后重新运行那个c++项目,你会在Console中看到久违的HelloWorld!

4.配置全局变量

进入终端,执行以下命令

vim ~/.bash_profile

按i进行编辑,输入以下路径

export COCOS2DX_ROOT=/Users/ookcode/cocos2d-x-2.14/
export NDK_ROOT=/Users/ookcode/android-ndk-r8e
export ANDROID_NDK_ROOT=/Users/ookcode/android-ndk-r8e
export ANDROID_SDK_ROOT=/Users/ookcode/adt-bundle/sdk
export PATH=$ANDROID_NDK_ROOT:$PATH
export PATH=$ANDROID_SDK_ROOT:$PATH

按ESC,再输入:wq 保存并退出(基本的vi命令要会)

******这里是我的路径,切记得换成你自己的*******

5.用NDK编译android项目

进入终端,执行以下命令

cd ~/cocos2d-x-2.1.4/projects/game01/proj.android
./build_native.sh

然后就是漫长的编译

Compile++ thumb  : cocos2dcpp_shared <= main.cpp
Compile++ thumb : cocos2dcpp_shared <= AppDelegate.cpp
Compile++ thumb : cocos2dcpp_shared <= HelloWorldScene.cpp
Compile++ thumb : cocos_extension_static <= AssetsManager.cpp
Compile++ thumb : cocos_extension_static <= CCBFileLoader.cpp
………
………

当看到

Install        : libcocos2dcpp.so => libs/armeabi/libcocos2dcpp.so
make: Leaving directory `/Users/ookcode/cocos2d-x-2.1.4/projects/game01/proj.android'

就编译成功了

6.导入android项目

在eclipse中右键,new->project

选择Android Project from Existing Code

Browse到game01的proj.android目录

导入进来后我们发现有这样的错误

这是由于cocos2dx的文件没用正确的包含进来

右键项目->properties->Java Build Path

在Source里点Link Source

Browse到/cocos2d-x-2.1.4/cocos2dx/platform/android/java/src

然后随便取个名字,确定,刚才的错误就消除了!

--------------------------------------------------------------------------------------------------

2013年7月31日更新:

可以直接把/cocos2d-x-2.1.4/cocos2dx/platform/android/java当做一个安卓工程导入,然后都不用设置Link Source,一劳永逸!

--------------------------------------------------------------------------------------------------

7.创建AVD模拟器

注:cocos2d-x需要4.0.3以上的模拟器才能运行,真机无所谓

创建AVD是记得勾选Use Host GPU

右键项目->Run As -> Run Configurations-> Target

在最底部输入

8.运行项目

右键项目-> Run As -> Android Application

然后选择刚才创建的AVD,然后你可以去先喝杯茶(模拟器启动那叫一个慢~

9.编辑项目

千万别在eclipse里面写c++的代码, CDT真受不了。

前面说过,全平台的项目是共用一个classes的,所以,我们可以用xcode打开那个ios的项目

打开HelloWorldScene.cpp这个文件,我们进行一些简单的修改

找到这行代码,我们给他修改一个字体

CCLabelTTF* pLabel = CCLabelTTF::create("Hello World", "Arial", 24);

改成

CCLabelTTF* pLabel = CCLabelTTF::create("Hello World", "fonts/Marker Felt.ttf", 128);

你可能会奇怪,为什么字体要这样写"fonts/Marker Felt.ttf"

如果是要ios支持的话直接写Marker Felt就行,不过安卓却不能这样,我们可以看到,安卓项目的目录下有个fonts目录,所以得按这种写法来获得安卓的支持

(不过我疑惑的是,ios明明没用fonts这个目录,它是怎么判断出是这个字体的)

10.运行修改过的项目

在xcode中点击Run

发现了么,字体改变了!

然后接着是android项目,因为修改了代码,所以必须重新编译一次

再次进入终端,输入以下代码

cd ~/cocos2d-x-2.1.4/projects/game01/proj.android
./build_native.sh

这次不会想上一次编译一样花那么久,因为不会再编译一次cocos2dx的代码

Using prebuilt externals
make: Entering directory `/Users/ookcode/cocos2d-x-2.1.4/projects/game01/proj.android'
Compile++ thumb : cocos2dcpp_shared <= HelloWorldScene.cpp
SharedLibrary : libcocos2dcpp.so
Install : libcocos2dcpp.so => libs/armeabi/libcocos2dcpp.so
make: Leaving directory `/Users/ookcode/cocos2d-x-2.1.4/projects/game01/proj.android'

出现以上代码就表示编译成功了

我们再回到eclipse,右键项目->Run As -> Android Application

六、结束语

  cocos2d-x的环境实在是很烦人,花了整整一天的时间才搭建好,期间更是碰到各种乱七八糟的错误,所以特地注册个博客,就为了把这次艰辛的环境搭建给记录下来,也

给正在纠结的朋友们提供一些帮助。

  慢慢悠悠写了两个小时,这是我第一次写东西,表达的不是很清楚,还请大家见谅,有什么问题可以回复给我,有什么错误也请指出。

  我现在也在学cocos2d-x,不知道有没有朋友能一起交流-。-(本人93年大2屌丝,技术宅,未婚,木有妹纸0.0)

最新文章

  1. 100 个 Linux 常用命令大全
  2. 结算凭证中委托付款部分sql
  3. URL(统一资源定位符)结构和注意事项
  4. mongo vue的常用操作
  5. Model2模型介绍
  6. MinStack
  7. codeforces 484D D. Kindergarten(dp)
  8. Ubuntu 安装 Brother MFC7470D 驱动
  9. HTML的窗口分帧
  10. Redis源码分析系列
  11. MySQL 5.7版本安装教程-踩坑总结
  12. Android开发中出现cannot be resolved to a variable错误,也就是R文件不能生成。
  13. Codeforces 376C. Socks
  14. CI学习 CCNET Config 第一天
  15. WEB学习感受
  16. Java常用API及Math类
  17. HttpServletResponse实现文件下载
  18. python 全栈开发,Day123(图灵机器人,web录音实现自动化交互问答)
  19. Redis数据结构之set
  20. 从源码层面聊聊面试问烂了的 Spring AOP与SpringMVC

热门文章

  1. python 零散记录(一) input与raw_input 数学相关函数 转换字符串的方法
  2. Java 字符转码之UTF-8转为GBK/GB2312
  3. cocos2d-x 关于opengl version too old 问题解决办法
  4. rsync学习与实践
  5. JQuery- 动画与效果
  6. Datediff函数 助你实现不同进制时间之间的运算
  7. java 大数据处理之内存溢出解决办法(一)
  8. [Angular 2] DI in Angular 2 - 1
  9. [CSS] Targeting Elements with CSS Attribute Selectors
  10. mybatis04 根据用户名称模糊查询用户信息