使用 Cocos2d-x 3.0 或者更新版本构建多平台游戏
在这个教程中,你将学到如何在 Windows 开发环境中使用 Cocos2d-x 3.0 或更高版本来创建一个简单的游戏,和如何在 Windows 和 Android 平台上运行它。
Cocos2d-x 是什么?
Cocos2d-x 是一个跨平台的游戏开发框架(也可以用来开发其他图形应用,比如互动图书),它是基于 iOS 的 cocos2d 框架实现的,与其不同的是,cocos2d-x 使用 C++,JavaScript, Lua 而不是Objective-C。
这个框架的优势之一就是,使用它创建的游戏,不用修改代码,只需要做少量的平台配置适应,就能够很容易的将其部署到其他平台(例如Android, iOS, Win32, Windows Phone, Mac, Linux等多个平台)
Cocos2d-x 命令行
cocos2d-console 是在 3.0 版本中被引进的。它是一个命令行工具,提供一些管理 Cocos2d-x 或者Cocos2d-JS 工程的功能,例如:创建,执行,建立,调试等等。
创建你的第一个游戏
1 -( Download )下载最新版本的框架并将其解压到你的开发环境中。本教程使用的版本是 3.3rc0 version , 框架解压到桌面 (C:\Users\intel-user\Desktop\cocos2d-x-3.3rc0).
Figure 1. Cocos2d-x version 3.3 RC0 目录结构
2 – 为了用 cocos2d-x 创建新工程, 需要使用框架目录中的 setup.py (a Python* script) 配置编译 Win32 和 Android 平台的环境变量. 在执行 setup.py 之前,还需要下载和安装下面的配置工具:
如果没有安装 Python 环境, 下载 2.7.6 版本的python安装程序: http://www.python.org/download/
Figure 2. setup.py location
3 - 打开命令提示窗口 (cmd.exe) 执行以下命令:
- 切换到脚本所在的文件夹 (框架目录):
cd C:\Users\intel-user\Desktop\cocos2d-x-3.3rc0
- 运行 setup.py:
python setup.py (or setup.py only)
Note:要在命令提示窗口中运行python命令, 需要将python的安装目录添加到系统的path环境变量中.
- 此脚本需要Android SDK, Android NDK 和 ANT的安装路径.
-
Android NDK 目录:
Figure 3. Cocos2d-console 设置NDK 目录
-
Android SDK 目录:
Figure 4. Cocos2d-console 设置 SDK 目录
-
Apache ANT bin 目录:
Figure 5. Cocos2d-console 设置 ANT bin 目录
添加要求的目录之后, 重新打开命令提示窗口 (cmd.exe). 要使用 cocos2d-console 命令必须这样做.
4 – 输入 cmd.exe 进入命令行提示框(cocos2d-console 命令只能从这里执行),再次打开框架文件夹:
cd C:\Users\intel-user\Desktop\cocos2d-x-3.3rc0
在下面的步骤,我们将创建一个新的Cocos2d-x 项目:
cocos new MyGame –p com.Project.MyGame –l cpp –d Project
Figure 6. 创建 Cocos2d-x 项目
下面的参数的简单解释:
-
new: 创建一个新的项目,后面必须紧跟项目名称(此例中为MyGame)
-
-p: 定义包名
-
-l: 选择编程语言,可以是 cpp 或者 lua
-
-d: 框架所要创建的工程结构的目录
如果一切顺利,你的项目将会在 Project 目录创建,这也是框架被提取出来的目录。
Figure 7. MyGame 目录结构
创建出来的项目包含基本的游戏(类)代码,资源(图片,音频等),以及每个框架支持的平台项目。
构建 Android 应用程序
要求:
-
你需要配置构建 Android 游戏应用程序所需的所有环境变量(Android SDK,Android NDK,以及 ANT)。如果你还没有完成这个步骤,请查看本文“创建第一个游戏”的章节。
注意:由于 Cocos2d-console 使用 javac 命令构建 Android 应用程序,所以 增加 JAVA_HOME 环境变量 (JDK 路径)是必要的。
1 – 我们将为多个平台编译我们的游戏,但是框架默认不会编译 x86 和 armeabi-v7a 平台。编辑位于以下路径的 Application.mk 文件:
C:\Users\intel-user\Desktop\cocos2d-x-3.3rc0\Project\MyGame\proj.android\jni
Figure 8. Application.mk文件位置
2 –在文件中增加下面一行内容:
APP_ABI := armeabi armeabi-v7a x86
Figure 9. 增加了 APP_ABI 行的 Application.mk 文件
现在,我们增加了目标平台,让我们开始编译游戏吧!
3 – 使用命令行提示框,进入到框架目录:
cd C:\Users\intel-user\Desktop\cocos2d-x-3.3rc0
4 – 执行下面的命令来编译和运行 Android 平台游戏.
cocos run –s Project\MyGame –p android
Figure 10. 执行命令编译和运行 Android 平台游戏
-
run: 编译和运行项目
-
-s: 工程文件夹路径
-
-p: 选定的平台
注意:如果只是编译,请输入: cocos compile –s Project\MyGame –p android
如果一切运行正常, cocos2d-console 命令将使用adb (如果在环境变量中配置了的话) 在连接的设置中,或者已经初始化的模拟器中,安装APK文件。如果它们不可用,命令将等待设备或模拟器成为可用的状态,如下图所示:
Figure 11. 命令等待设备或已初始化的模拟器
如果你已经初始化了模拟器或者已经连接了设备,屏幕将会出现:
Figure 12. Android平台的游戏屏幕
构建Win32应用程序 (对应Windows* 7 或者 Windows* 8 桌面模式)
你需要Visual Studio* 2012 或者后续版本来构建。
1 – 使用命令行提示框(cmd.exe), 进入框架提取出来的目录:
cd C:\Users\intel-user\Desktop\cocos2d-x-3.3rc0
2 – 执行下面的命令来编译和运行Windows平台下的游戏:
cocos run –s Project\MyGame –p win32
Figure 13. 执行命令编译和运行Windows平台下的游戏
参数的简单说明:
-
run: 编译和运行选择的项目
-
-s: 项目文件夹路径
-
-p: 选择的平台
注意: 如果只需要编译,请使用“compile” 代替“run”,像下面这样:
cocos compile –s Project\MyGame –p win32
在执行完命令之后,如果一切运行正常,你将看到如下的屏幕:
Figure 14. 在Windows平台下的游戏屏幕
可以使用Visual Studio运行和编译此游戏工程:
1 – 在工程目录中, 用Visual Studio打开 “proj.win32”目录下的 MyGame.sln 文件.
Figure 15. Win32 工程目录结构
2 – 编译工程: 按F6键 (或 Build 菜单 -> Build Solution) ,然后按 F5 执行 (或者 Debug 菜单 -> Start Debugging). 经过编译和执行后,你应该看到和通过控制台操作相同的屏幕显示.
Figure 16. Win32 project opened in Visual Studio*
到此,你应该知道如何为Android (x86 and ARM*), Windows 7和 Windows 8 (桌面模式)创建游戏并编译它!
引用
Cocos2d-x 框架源码使用MIT License开源协议, 你可以在这里找到它.
Cocos2d-x 和相关的文档: http://www.cocos2d-x.org/
cocos2d-console: http://www.cocos2d-x.org/wiki/Cocos2d-console
注
目前, Cocos2d-x 3.3 存在不允许用户创建项目的问题 (详情参考 这里). 这个问题已经在最新的预发布版中修复, 但还存在在Cocos2d-x最新版中.