建议先掌握Android基本开发,C++基础语法、面向对象。
我也是初学Cocos游戏开发,没想到一来就在配置开发环境中遇到这么多麻烦,但是经过我的努力,多方查找资料,最终还是配置成功啦。特此写一个教程,算是记录一个过程,避免遗忘,同时也给各位跟我一样想学Cocos开发的同学提供一个方便,让大家少走弯路。如果大家发现本文有错误的地方,请告诉我,我会立刻更正。
有人说成功的秘诀就是:多读书,多看报,少吃零食多睡觉。我觉得也是,总之是人活到老学到老。谨以此文,与君共勉。好了废话不多说,下面进入正题。
1.开发平台:操作系统 Win 7 64位
2.开发工具:
工具名称 | 版本 |
JDK | 1.8.0.20 |
Eclipse | Luna |
Android SDK | 23.0.2 |
Android NDK | r9d |
Apache Ant | 1.9.4 |
Cocos2d-x | 3.2 |
Python | 2.7.3 |
一、安装Eclipse并配置安卓开发环境。(JDK、Eclipse、Android SDK、ADT)
二、下载NDK,并关联到Eclipse。
三、下载ant、Cocos2d-X、python。
四、配置环境变量。
五、创建项目并导入Eclipse运行。
(1) 下载JDK 8.0并配置环境变量。(http://www.oracle.com/technetwork/java/javase/downloads/index.html)
(2) 下载Eclipse IDE For Java Developer。(1) (http://www.eclipse.org/downloads/)
(2) 下载Android SDK并配置环境变量。(请自行使用VPN登陆Android开发者官网进行下载)
(3) 为Eclipse安装“安卓开发插件”(ADT即Android Development Tool)
(1) 下载NDK并安装。(强烈建议选择r9d版本,如果选择最新版本r10c的话,编译的时候会出现各种问题)
下载地址:https://dl.google.com/android/ndk/android-ndk-r9d-windows-x86.zip
(下载地址比较相似,如果是windows 64的话,直接在上面的地址的x86后方加上“_64”就可以了;同理linux平台,即将地址中的windows改为linux即可,然后将后方的.zip改为.tar.bz2)
(2) 将NDK与Eclipse关联。
Eclipse菜单Window > Preferences > Android > NDK > Browse找到你的NDK安装路径 > Apply(1) 下载Ant(Apache)并解压。(http://ant.apache.org/bindownload.cgi)
(2) 下载python,然后安装。(https://www.python.org/downloads/)
注意:这里最好选择2.7.3版本或相近版本,尽量不要选择3.0以后的版本,由于python脚本差异,可能导致之后的编译失败。
然后将python的根目录添加到系统的path变量中,否则无法在命令行中执行python脚本(Cocos2d-X的环境部署脚本文件setup.py)。
(3) 下载Cocos2d-X并解压(选择3.0以上版本,建议选择3.1或者3.2)。(http://cn.cocos2d-x.org/download/)
(4) 配置如下环境变量:
变量名 |
说明 |
我的路径(示例) |
COCOS_CONSOLE_ROOT |
Cocos控制台工具路径,用于编译工程等 |
D:\DeveloperTools\cocos2d-x-3.2\tools\cocos2d-console\bin |
NDK_ROOT |
NDK根目录 |
D:\DeveloperTools\android-ndk-r10c |
ANDROID_SDK_ROOT |
Android SDK根目录 |
D:\DeveloperTools\AdtArtemis\sdk |
ANT_ROOT |
Ant的bin目录 |
D:\DeveloperTools\apache-ant-1.9.4\bin |
(5) 上述环境变量配置完成后,进入Cocos的根目录,按shift键和鼠标右键,打开右键菜单:
(6) 选择“在此处打开命令窗口”,调出“CMD窗口”,输入setup并按回车:
(7) 此时会执行脚本检测步骤(4)所示的4个环境变量是否已经设置,如果设置好了,会提示如下信息:
(8) 提示的信息说明环境变量配置成功,这个时候为了使之生效,我建议还是重启一次电脑,当然,直接关掉命令行窗口通常也是可以的。
下面我们来创建第一个Cocos2d-X项目:
(1) 首先进入需要放置项目的文件夹(建议在D、E、F盘中任意一个位置专门新建一个文件夹来放置Cocos项目,比如我的文件是D:\CocosProjects)
(2) 在空白处,按Shift键和鼠标右键打开右键菜单,选择“在此处打开命令窗口”。
(3) 输入脚本:【cocos new HelloCocos –p com.exp.hellococos –l cpp –d .】
(4) 按回车运行命令,新建工程命令开始执行(PS:一般这个过程比较耗时,请耐心等待他完成)
(5) 等到新建工程完成时,进入刚才生成的HelloCocos文件夹,使用步骤(2)的方法重新打开命令行窗口。
(6) 输入编译命令:【cocos compile –p android】。回车会开始编译:
-p 紧跟android表示编译到android平台。
图为编译完成
(7) 等到编译完成,进入proj.android文件夹下的bin文件夹,可以找到一个APK文件,将这个APK文件拷贝到手机上安装,运行成功既可以看到一个Cocos 2D的LOGO。
遇到这个错误,请找到CCBundleReader.cpp文件并打开:(文件路径:【项目根目录】>【cocos2d文件夹】>【cocos文件夹】>【3d文件夹】>【CCBundleReader.cpp】)
打开这个文件,向下找到tell()函数,将左边的返回参数修改为long int然后保存:按前面说的方法,重新执行编译即可成功编译生成APK文件。
接下来我要说的是,将刚才的android端项目导入Eclipse进行开发和调试(这里要讲的,才是真正的接触Cocos开发的过程)
(1) 打开之前准备好的Eclipse(包含ADT插件,CDT插件,NDK关联),打开菜单栏中的【File】菜单,选择【Import…】>【General】>【Existing Project into Workspace】>【Next】。
(2) 导入完成后,会自动执行编译,请耐心等待编译完成。
(3) 如果提示找不到Cocos2dxActivity类,请导入Cocos库(在Cocos安装目录下,在下图所示位置)
(4) 编译完成会看到如下图的HelloCocos工程结构:
(5) 其中Classes文件夹是存放主要的Cocos2d-X的C++代码的目录。
(6) 至此,已经可以像运行普通Android项目一样运行这个Cocos项目了。
(7) 后续步骤讲解的是如何修改Cocos的游戏代码,打开场景文件的代码(HelloWorldScene.cpp):
(8) 找到init()函数的最后一行:
(9) 这里的几行代码,创建了一个精灵(Sprite),对曾经使用过其他游戏引擎的朋友来说,再熟悉不过了。对于没有游戏开发经验的朋友,现在也不用管精灵是什么,简单来说就是一个能够在屏幕上显示且看得见的物体。
(10) 这个精灵,实际上就是我们运行时,看到的屏幕中间那个大大的Cocos的LOGO,而第二行代码设置了这个Logo在屏幕上的位置(Cocos的设定正好符合数学上的坐标系,即屏幕左下角为坐标原点,屏幕向右为X轴正方向,屏幕向上为Y轴正方向),这里的【Vec2(…)】就是一个二维坐标参数。
(11) 我们先修改一下Logo的位置,这非常简单。可以看到,它所写的参数,正好让logo处在屏幕正中间。我们稍稍做一下修改:
(12) 这样一来,理论上logo就应该跑到偏屏幕右上角的位置去了。
(13) 保存修改的代码,点菜单栏上的【Project】>【Build All】,此时Eclipse会自动重新编译C++代码。
(14) 编译完成之后运行,可以看到如下的效果:
(15) Logo已经成功的跑到右上角去了。
至此,所有的步骤已经完成,可以愉快的学习Cocos游戏开发啦。