Cocos2dx笔记(一)
本文总结一些关于Cocos2dx中的一些配置及相关编译的内容,以Windows为平台(Win7)进行测试,Cocos2dx 3.x(3.4),Apache-ant-1.9.x(1.9.6),Ndk-r9+(r10e)。 一、首先是开发环境的配置,不啰嗦,看(官方文档):
在Windows7上搭建Cocos2d-x 3.2alpha0开发环境
如何在Windows 7平台搭建Android Cocos2d-x3.2alpha0开发环境
配置下来设置了一堆的环境变量,见下方,应该都在这了。。(Windows!)
|
|
配置好后,进入到/cocos2dx目录/,运行python setup.py命令检测配置情况,也可以设置部分环境变量。如下图:
二、开始Cocos2dx征程
创建Cocos2dx工程,有几种方式:
注意,每条命令后面有针对Cocox2dx的版本要求。
1、以下均需要配置好所有的环境之后!
命令:cocos new projectName -p packageName -l cpp -d project_dir(Cocos2dx版本v3.x)
2、进入到Cocos2dx目录/tools/cocos2d-console/bin/
命令:python cocos.py new HelloCpp -p com.coco2dx.org -l cpp -d ~/Desktop(Cocos2dx版本v3.x)
3、进入到Cocos2dx目录/tools/project-creator/
命令:python create_project.py -project projectName -package packageName -language cpp(Cocos2dx版本v2.x)
使用上面的任意一条命令,就能针对不同版本的Cocos2dx创建工程。
工程创建好了,接下来编译运行就OK了。
win32平台编译运行:
a、用Visual Studio编译见顶部的官方文档链接;
b、进入工程目录下,使用命令:cocos run -p win32(Cocos2dx版本v3.x)编译运行。
Android平台编译运行:
a、进入/工程目录/proj.android,执行命令python build_native.py,等待编译完成后,将/工程目录/proj.android/导入到Eclipse中即可。
以上导入到Eclipse中的项目可能会出现找不到包org.cocos2dx.lib.Cocos2dxActivity问题,导入/cocos2dx目录/cocos/platform/android/java项目,将其添加到自己Cocos2dx项目的library,导入的Cocos2dx项目需要设置is library,如下:
b、进入/工程目录下,使用命令:cocos run -p android(Cocos2dx版本v3.x)编译运行,默认会将生成.apk文件安装到连接的手机或虚拟机上。
若出现如下问题,
这是Android SDK tools to 24.3.2 的一个Bug,解决办法是在/android-sdk-path/tools/ant/build.xml的484 行添加以下内容:
|
|
当然这些都太麻烦了,在Windows下,写个脚本,帮助我们处理这些复杂的过程,脚本已备好,gitlab传送门_V3.x(针对Cocos2dx V3.x版本),gitlab传送门_V2.x(针对Cocos2dx V2.x版本,V2.x里面只有一个创建工程的脚本,不支持编译),因为V2.x中没有直接编译的脚本,下面的内容均以V3.x为例。
两个脚本,一个是创建工程的脚本,一个是编译的脚本,两个脚本需要放在同一个文件夹下!!!
第一次使用时需要设置编辑自己的两个路径:
|
|
运行cc2dx_proj_creater_3.x.bat创建工程,如下:
另一个脚本没用?no,进入到创建好的工程目录下,发现了cc2dx_proj_complie_3.x.bat这个脚本,对!它已经被复制过来,现在就可以随时的进入到工程目录下随时编译代码!如下图,提供了两种平台的编译,当然,想要增加其他平台,自己改改这个脚本就行了。
下图是编译到了Android手机上的效果图:
问题集:
Q:在Eclipse中编译Android平台之后,再用命令编译运行失败?
A:如果在Eclipse中打开过,再次用cocos run -p android命令编译运行,由于依赖的cocos2d library路径可能被改变,导致编译失败。解决办法,需要修改以下:
.android.properties 文件。
在Eclipse中,设置了工程的依赖cocos2d library为下面这个地址(根据自己的cocos2dx安装位置而定): android.library.reference.1=../../../cocos2d-x-3.4/cocos/platform/android/java
但是在cocos run -p android命令编译的时候,依赖的cocos library是当前工程下的cocos2d library,即为以下地址,所以需要修改为: android.library.reference.1=../cocos2d/cocos/platform/android/java
脚本下载:Cocos2dx.zip