文档章节

Cocos2d-x 3.x 全平台(Android,iOS)新手开发配置教程攻略

雪儛
 雪儛
发布于 2014/06/16 15:13
字数 2363
阅读 107
收藏 1

自己写的博客:http://blog.sina.com.cn/s/blog_732d16630101g445.html

以前只做过网页游戏(《古今东西》,www.ooplay.net),游戏也曾经开发过Android的手机版本,但自己写的引擎,当然也不能跨平台。所谓“工欲善其事,必先利其器”,使用成熟的引擎当然要锐利得多,所以果断投入了Cocos2d-x的阵营。我捣鼓了几天,才把平台上的东西配置好,现在买的书和网上的攻略大都是介绍2.x的,对于布置3.0开发平台的内容几乎都是网上的,但都是这里一点,那里一点。

所以我把自己的捣鼓经历记录下来,希望对大家有所帮助。因为这篇文章是面对新手的。所以有些地方会啰嗦一些。请勿见怪。因为本人也是新手,如果教程中有错误,欢迎指正。如果在配置开发平台时还遇到问题,请在评论中留言,我会尽力解答。

我使用的环境是自己的PC(Win7)+HTC G18。还有从朋友那里借来的MacBook Air+Mini iPad。

一、通用准备工作

1、安装Cocos2d-x3.1。
在Cocos的主页上:http://cocos2d-x.org/
这个不用解释了。下载后解压缩就行。

2、安装Eclipse与AndroidSDK。
这个在Mac上或是PC上开发都是可以通用的。
Eclipse在官网:http://www.eclipse.org/
Android SDK在Android开发者中心:http://developer.android.com
Eclipse是开发Android需要用到的IDE。这是个很牛X的IDE,有许多插件让他变得三头六臂。要开发Android的程序,需要下载相关的插件,但如果每个插件要自己配置,会是很蛋痛的事情。如果是新手,推荐使用:ADTBundle。这是Eclipse+Android SDK的合体,所有的项目都已经帮你配置好了。

3、安装JDK:
Eclipse需要Java环境才能运行。如果事先没有安装Java环境,则会报错。
解决方案安装jdk:http://www.oracle.com/technetwork/java/javase/downloads/index.html
一般来说安装之后会自动配置好环境变量。如果还没有解决问题,请查找网络上关于JDK安装的攻略。很多的。

4、安装CDT插件
地址:http://www.eclipse.org/cdt/downloads.php
这是个Eclipse的插件,用来支持Eclipse中C/C++语言的开发。从Eclipse的官网下载,下载之后,将features和plusins这两个文件夹里面的内容复制到Ecplise安装目录下对应的文件夹之后就可以了。

5、安装NDK
地址:http://developer.android.com/tools/sdk/ndk/index.html
这是进行C/C++与Java混合编译的必要工具。记下下载之后解压到的目录,因为到之后的安装中会用到。

6、安装ANT
地址:http://ant.apache.org/
这个是用来干什么的我至今还不明白。但据说Cocos的Android开发需要用到它,其它的攻略上都说需要,所以下载下来安装好吧。



二、PC环境下配置过程

1、安装VS2012。
地址:网上很多,在官方下载也行。
最好是2012,我曾经试过2010,2013,都会出这样那样的问题。所以,2012!

2、安装python2.7.6
地址:https://www.python.org/download/releases/2.7.6/
因为Cocos2d-x的安装程序是用phthon写的,所以需要这个软件。不要下载python3.0以上的版本,否则运行会出错。如果是Mac,那么天生就自带了。

3、进行开发环境配置
以上的工作完成之后,就可以进行配置了。启动Windows的命令行(CMD)工具。进入Cocos2d-x3.1的安装目录,执行:
python setup.py
Cocos2d-x3.1版本使用这个setup.py来安装,十分方便。执行之后会让你配置上面准备工作中所安装的:ANT、NDK、SDK等目录,把安装到哪儿去了填写进入就行。

4、建立自己的项目
用setup.py配置好Cocos2d-x的环境之后,你的命令行中就会多如“cocos”的命令,新建项目将使用这个命令进行。示例:
cocos new hello(项目名称)-p com.hello(包名字)-l cpp(项目类型) -dE:\MyCocos\cocos2d(目录)
新建的项目会把所有的源文件和库都拷到你的项目目录中。所以新建的项目文件会很大,有许多人怀疑这个的必要性,不过到你之后的开发中就会知道这种配置方法是对的了。

项目建立好之后,就可以开发了:

A、进行VS2012的开发。
找到你的项目目录下的:proj.win32,打开里面的解决方案就行。剩下的就是你的任务了。一般来说,直接就可以运行。

B、进行Android的开发。
使用Eclipse中的项目导入,导入proj.android中的项目方案。导入之后,因为SDK的问题,一般无法启动,关于这个问题,以及其它的问题,请参见(四、其它问题解决方案)


三、MAC环境下配置过程

1、注册苹果开发者账号。
地址:http://developer.apple.com/iphone/index.action
如果不使用真机,使用模拟器调试,那么有开发者账号应该就足够了。
如果要使用真机调试,需要购买IOS开发者会员,688RMB一年。我看到之前的攻略说要99美元,但是看现在的页面的的提示,应该只要有网银就可以支付了。网上的攻略写得非常复杂,说要下载证书什么什么的,现在统统都不需要了,XCode全部为您代劳了,只要照提示一路点同意就行。

1、安装XCode
在你的开发者首页下面就有XCode的下载。通过App Store下载安装即可。
请使用最新的XCode(需要OS X 10.8以上系统支持),并使用App Store安装。我的MacBookAir从朋友那里拿来时还是10.7,因为下载总是中断,屡次不成功,所以用XCode 4.6,但好像不通过AppStore安装会出这样那样的问题。所以强烈推荐使用最新的版本。

3、进行开发者环境配置。
与PC的配置一样,打开MAC的终端程序,执行setup.py,配置好各种SDK的路径就行。但MAC需要再加上一句:
source /Users/yourname/.bash_profile
这是用来刷新配置文件的。

4、建立项目文件
也与PC的项目一样。使用命令行建立。
如果你像我一样用两个平台(PC与MAC)开发,可以共享同一个项目目录。我的项目文件是放在PC上的,MAC通过共享访问项目文件。

项目建立好之后就可以开发了。MAC下的配置相对简单,使用XCode打开项目目录下的proj.ios_mac下的项目配置文件就行。之后基本不会出错的。



四、其它问题解决方案

Eclipse与Android相关:

问题:SDK错误
因为Cocos2d-x的模版默认是使用Android 2.3.3(API-10),如果新安装的ADT Bundle或AndroidSDK,是API-19,则会出现错误,解决方案是通过Android SDK中的管理工具(SDK Manager)下载Android2.3.3的SDK。

问题:Project 'XXX' is missing required source folder: 'gen'
这个问题就是上面的SDK错误导致的。

问题:undefined reference to'cocos2d::network::HttpClient::getInstance()'
我是使用网络库(network)的时候出现这个错误的。如果你使用其它库,解决方案是一样的。原因是缺少库的引用。解决方案是在Android.mk里面增加:
LOCAL_WHOLE_STATIC_LIBRARIES += cocos_network_static
Cocos2d-x的开发者已经在Android.mk里面加上了很多这种路径,平时是注释掉的。您要使用时把这些增加上去就行。

问题:fatal error: cocos-ext.h: No such file or directory
问题分析:缺少头文件路径的引用
需要在:Android.mk里面增加
LOCAL_C_INCLUDES += $(LOCAL_PATH)/../../cocos2d/extensions
Cocos2d-x的开发者已经在Android.mk里面加上了很多这种路径,平时是注释掉的。您要使用时把这些增加上去就行。

问题:The import org.cocos2dx.lib cannot be resolved。
无法找到指定的库文件。解决的方案是增加路径的引用:Project Properties -> Java Build Path-> Source and then linking“项目目录/cocos/platform/android/java/src”


VS2012相关:

问题:“extensions/ExtensionMacros.h”: No such file or directory
无法打开包括文件。
1、解决方案中,添加“现有项目”--> libExtensions 具体目录: ..\cocos2d\extensions\proj.win32\libExtensions.vcxproj
2、项目中添加引用-->libExtensions
3、通过:属性->C/C++->附加包含目录。附加包含目录:$(EngineRoot)
如果你使用其它的文件,解决方案是一样的。1、增加项目的引用。2、附加头文件的包含目录。


XCode相关:

问题:Contacting Your Reference
因为我最初注册的AppleID和开发者账号的名字不一样,所以支付了开发者会员之后,无法验证通过。出现这个提示。解决的办法是联系苹果开发者客服:400 6701855。客服会帮你确认身份,解决这个问题。


其它攻略文章:
如果有不清楚的地方,可以参考以下攻略文章,基本上我也是靠这些文章来解决问题的:
如何联机调试和发布iOS程序
Eclipse 运行 cocos2d-x-3 项目终极方案
Cocos2d-x 3.0正式版及android环境搭建详细教程
Cocos2d-x 3.0rc,又一种创建项目方式
引用extension时(包括发布到Android平台)遇到的问题
[url=hthttp://logger.iteye.com/blog/911977]android中The connection to adb isdown,问题和解决[/url]

本文转载自:http://www.cocoachina.com/bbs/read.php?tid=204046&fpage=5

雪儛
粉丝 0
博文 49
码字总数 147
作品 0
深圳
私信 提问
移动应用和游戏开发两个阶段在线视频培训的未来计划

在51CTO学院开线上视频课程已经3个多月了,也上了不少课。不过发现还有很多课没有开。现在就将未来的开课计划公布一下。计划分为两个阶段。第一阶段主要是Cocos2d-x和Cocos2d-js的游戏开发培...

androidguy
2018/06/29
0
0
两大开源游戏引擎Cocos2d-x及OGEngine对比分析

在近期的全球移动开发者大会上,触控发布了Cocos 3D引擎;而在差不多同时间,以安卓为主的OGEngine也发布了新版本,并宣布将支持跨平台。 Cocos2d-x和OGEngine都是当前比较受开发者欢迎的开源...

橙游OrangeGame
2014/08/11
13.5K
1
java可以同时开发安卓和IOS

Cocos2d-x VS. OGEngine,联盟与部落的战争 在近期的全球移动开发者大会上,Unity发布了2D引擎,触控在同时发布了Cocos 3D引擎;而在差不多同时间,以安卓为主的OGEngine也发布了新版本,并宣...

keo牛
2014/08/04
6.5K
0
Cocos2d-x 3.3/2.2.6 发布,更多 3D 特性支持

Cocos2d-x 3.3 final 发布,我们建议你使用 NDK r10c 或者更新版本,因为它修复了 Android 5.0 的一些 bug。 下载地址:cocos2d-x 3.3 3.3 版本值得关注的改进: Size Modularization: autom...

oschina
2014/12/16
5.1K
8
谷歌Flutter跨平台应用开发SDK迎来首个发行预览版本

谷歌Flutter跨平台应用开发SDK迎来首个发行预览版本 2018-06-22 12:26编辑: 枣泥布丁分类:程序人生来源:程序师 跨平台Google Flutter预览版本 招聘信息: 图像处理及模式识别工程师 C/C+...

枣泥布丁
2018/06/22
0
0

没有更多内容

加载失败,请刷新页面

加载更多

SpringBoot中 集成 redisTemplate 对 Redis 的操作(二)

SpringBoot中 集成 redisTemplate 对 Redis 的操作(二) List 类型的操作 1、 向列表左侧添加数据 Long leftPush = redisTemplate.opsForList().leftPush("name", name); 2、 向列表右......

TcWong
今天
4
0
排序––快速排序(二)

根据排序––快速排序(一)的描述,现准备写一个快速排序的主体框架: 1、首先需要设置一个枢轴元素即setPivot(int i); 2、然后需要与枢轴元素进行比较即int comparePivot(int j); 3、最后...

FAT_mt
昨天
4
0
mysql概览

学习知识,首先要有一个总体的认识。以下为mysql概览 1-架构图 2-Detail csdn |简书 | 头条 | SegmentFault 思否 | 掘金 | 开源中国 |

程序员深夜写bug
昨天
10
0
golang微服务框架go-micro 入门笔记2.2 micro工具之微应用利器micro web

micro web micro 功能非常强大,本文将详细阐述micro web 命令行的功能 阅读本文前你可能需要进行如下知识储备 golang分布式微服务框架go-micro 入门笔记1:搭建go-micro环境, golang微服务框架...

非正式解决方案
昨天
7
0
前端——使用base64编码在页面嵌入图片

因为页面中插入一个图片都要写明图片的路径——相对路径或者绝对路径。而除了具体的网站图片的图片地址,如果是在自己电脑文件夹里的图片,当我们的HTML文件在别人电脑上打开的时候图片则由于...

被毒打的程序猿
昨天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部