cocos2dx 3.2 创建lua项目
本文是关于Cocos2d-x 3.x全平台(Android、iOS)的新手开发配置教程,旨在为新手朋友提供详细的指导。由于面向新手,部分内容可能会较为详细,若有错误欢迎指正,在配置开发平台时遇到问题也欢迎大家共同讨论。
一、通用准备工作
1. 安装Cocos2d-x 3.2
从Cocos2d官网下载Cocos2d-x 3.2+引擎,下载完成后进行解压缩。
2. 安装Eclipse与Android SDK
此步骤在Mac和PC上均可通用。
- Eclipse:可从其官网(官网地址)下载。
- Android SDK:在Android开发者中心(地址)下载。
Eclipse是开发Android应用所需的集成开发环境(IDE),它功能强大,有众多插件。对于新手,推荐使用ADT Bundle,它是Eclipse与Android SDK的整合包,所有项目已配置好,避免了手动配置插件的繁琐。
3. 安装JDK
Eclipse需要Java环境才能正常运行,若未事先安装Java环境,启动时会报错。解决方案是安装JDK(下载地址),一般安装后会自动配置好环境变量。若仍有问题,可在网络上搜索JDK安装攻略。
4. 安装CDT插件(下载地址)
CDT插件用于支持Eclipse中C/C++语言的开发。从Eclipse官网下载后,将features和plugins这两个文件夹内的内容复制到Eclipse安装目录下对应的文件夹中即可。
5. 安装NDK(下载地址)
NDK是进行C/C++与Java混合编译的必要工具。下载后解压,记下解压目录,后续安装会用到。
6. 安装ANT(下载地址)
Cocos的Android开发需要用到ANT,下载并安装即可。
二、PC环境下配置过程
1. 安装VS2012(官方地址)
虽然网上有很多VS2012的下载地址,但建议使用2012版本,因为2010和2013版本可能会出现各种问题。
2. 安装Python 2.7.6(下载地址)
Cocos2d-x的安装程序使用Python编写,因此需要安装Python 2.7.6。注意不要下载Python 3.0以上的版本,否则运行会出错。若使用Mac系统,系统自带Python。
3. 进行开发环境配置
完成上述准备工作后,启动Windows的命令行(CMD)工具,进入Cocos2d-x 3.2的安装目录,执行以下命令:
python setup.py
Cocos2d-x 3.2版本使用setup.py进行安装,执行后会提示配置ANT、NDK、SDK等目录,将相应的安装目录填写进去即可。
4. 建立自己的项目
使用setup.py配置好Cocos2d-x环境后,命令行中会新增“cocos”命令,可使用该命令新建项目。示例如下:
cocos new hello -p com.hello -l lua -d E:\MyCocos\cocos2d
参数说明:
hello:项目名称-p com.hello:包名-l lua:项目类型为Lua-d E:\MyCocos\cocos2d:项目存放目录
新建项目会将所有源文件和库复制到项目目录中,虽然文件较大,但在后续开发中这种配置方式是必要的。
项目建立好后,可进行以下开发:
- VS2012开发:找到项目目录下的
proj.win32,打开其中的解决方案即可开始开发,一般可直接运行。 - Android开发:使用Eclipse导入
proj.android中的项目方案。导入后,由于SDK问题可能无法启动,相关问题及解决方案可参见“四、其它问题解决方案”。
三、MAC环境下配置过程
1. 注册苹果开发者账号(注册地址)
若使用模拟器调试,有开发者账号即可;若要使用真机调试,需购买IOS开发者会员,费用为688元/年。现在XCode会自动处理证书等问题,按提示操作即可。
2. 安装XCode
在开发者首页可下载XCode,通过App Store下载安装。建议使用最新版本的XCode(需OS X 10.8以上系统支持),并通过App Store安装,避免出现问题。
3. 进行开发者环境配置
与PC配置类似,打开MAC的终端程序,执行setup.py,配置好各种SDK的路径。此外,还需执行以下命令刷新配置文件:
source /Users/yourname/.bash_profile
4. 建立项目文件
使用命令行建立项目。若同时使用PC和MAC两个平台开发,可共享同一个项目目录。例如,将项目文件放在PC上,MAC通过共享访问。
项目建立好后,使用XCode打开项目目录下的proj.ios_mac中的项目配置文件即可开始开发,一般不会出现问题。
四、其它问题解决方案
Eclipse与Android相关问题
1. SDK错误
Cocos2d-x的模版默认使用Android 2.3.3(API - 10),若新安装的ADT Bundle或Android SDK为API - 19,则会报错。解决方案是通过Android SDK中的管理工具(SDK Manager)下载Android 2.3.3的SDK。
2. “Project 'XXX' is missing required source folder: 'gen'”
此问题由上述SDK错误导致。
3. “undefined reference to 'cocos2d::network::HttpClient::getInstance()'”
使用网络库(network)时可能出现该错误,原因是缺少库的引用。解决方案是在Android.mk中增加:
LOCAL_WHOLE_STATIC_LIBRARIES += cocos_network_static
Cocos2d-x开发者已在Android.mk中添加了很多此类路径,平时处于注释状态,使用时取消注释即可。
4. “fatal error: cocos-ext.h: No such file or directory”
该问题是由于缺少头文件路径的引用。需在Android.mk中增加:
LOCAL_C_INCLUDES += $(LOCAL_PATH)/../../cocos2d/extensions
同样,Cocos2d-x开发者已在Android.mk中添加了很多此类路径,使用时取消注释。
5. “The import org.cocos2dx.lib cannot be resolved”
无法找到指定的库文件,解决方法是增加路径引用:Project Properties -> Java Build Path -> Source,然后链接“项目目录/cocos/platform/android/java/src”。
VS2012相关问题
“extensions/ExtensionMacros.h”: No such file or directory
无法打开包含文件,解决方案如下:
- 在解决方案中添加“现有项目” -->
libExtensions,具体目录为:..\\cocos2d\\extensions\\proj.win32\\libExtensions.vcxproj - 在项目中添加引用 -->
libExtensions - 通过“属性 -> C/C++ -> 附加包含目录”,添加附加包含目录:
$(EngineRoot)
若使用其他文件,解决方案类似,即增加项目引用和附加包含目录。
COCOS2DX 3.2+版本创建权限问题
若遇到创建权限问题,可按以下步骤操作:
打开终端,进入目录
/cocos2d-x-3.2/tools/cocos2d-console/bin,运行cocos.py脚本创建文件:./cocos.py new HelloWorldDemo -p com.coco2dx.org -l lua -d ~/Desktop参数说明:
HelloWorldDemo:项目名称-p com.coco2dx.org:包名-l lua:开发语言类型为Lua-d ~/Desktop:项目存放目录
若出现“-bash: ./cocos.py: Permission denied”,表示没有权限,使用以下命令修改
cocos.py的权限:chmod u+x cocos.py
COCOS2DX官方项目创建过程
准备工作
- 从Cocos2d-x官方网站下载最新版本v3.2alpha0。
- 从Android官方网站下载Android SDK和Android NDK。
- 检测JDK是否安装,版本是否大于1.6.0。打开终端,输入:
java -version若为MacOS X系统,会自动下载JDK。检查完JDK后,开始设置Mac的Android开发环境。
配置Android SDK环境
- 解压ZIP文件(名字为“adt - bundle -.zip”),保存至主目录的“Development”目录。
- 打开
adt - bundle - /eclipse/目录并启动Eclipse,此时集成开发环境已加载Android开发工具插件,SDK准备就绪。
在MBP Retina电脑中安装Eclipse
若使用配备Retina显示屏的MacBook Pro电脑,原装Eclipse不支持Retina显示屏,可按以下方法启用:
- 在Eclipse.app上执行“Show package contents”。
- 编辑
Contents/Info.plist文件,在</dict> </plist>上方增加以下代码:<key>NSHighResolutionCapable</key> <true/> - 将Eclipse.app应用移至新文件夹(清除OS X中info.plist文件的缓存),然后移回旧文件夹。
- 启动Eclipse,此时已支持Retina显示屏。
打开Eclipse,指定Android SDK安装目录
选择“ADT -> 偏好设置”,然后选择Android项,指定Android SDK的安装目录。
编译iOS项目源文件
将iOS项目源文件编译成项目时,需要使用NDK生成native文件。先解压下载的NDK和ADT到同一个父文件夹,然后添加NDK环境变量:
export NDK_ROOT = "/Users/yiming/Desktop/android-ndk-r9"
重启终端。
创建HelloWorld项目
- 将下载的压缩包解压到指定文件夹。
- 进入目录
cocos2d-x-3.2alpha0/tools/cocos2d-console/bin/cocos.py。 - 打开终端运行
cocos.py脚本创建文件:./cocos.py new HelloWorldDemo -p com.coco2dx.org -l lua -d ~/Desktop或
python cocos.py new HelloWorldDemo -p com.coco2dx.org -l lua -d ~/Desktop
生成Android项目文件
执行HelloWorldDemo/proj.android下的build_native.py脚本进行编译。编译成功后,将HelloWorldDemo/cocos2d/cocos/2d/platform/android/java/src/org/cocos2dx/lib文件夹拷贝到HelloWorldDemo/proj.android/src/org/cocos2dx下。
导入Android项目到Eclipse
通过导入已存在的Android项目的方法将生成的HelloWorldDemo导入到Eclipse中。若出现错误提示,可将/opt/cocos2d - 2.1beta3 - x - 2.1.1/cocos2dx/platform/android/java按照上述方法导入到Eclipse,然后在HelloWorldDemo项目上单击右键刷新,错误即可消失。
最后,将手机设置成调试模式,用USB线连接到电脑,在Eclipse中运行HelloWorld,即可在手机上看到运行的HelloWorld。