使用 Cocos2d-x 3.0 或者更新版本构建多平台游戏

xg48 10年前

在这个教程中,你将学到如何在 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).

使用 Cocos2d-x 3.0 或者更新版本构建多平台游戏

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/

使用 Cocos2d-x 3.0 或者更新版本构建多平台游戏

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 目录:

使用 Cocos2d-x 3.0 或者更新版本构建多平台游戏

Figure 3. Cocos2d-console 设置NDK 目录

  • Android SDK 目录:

使用 Cocos2d-x 3.0 或者更新版本构建多平台游戏

Figure 4. Cocos2d-console 设置 SDK 目录

  • Apache ANT bin 目录:

使用 Cocos2d-x 3.0 或者更新版本构建多平台游戏

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

使用 Cocos2d-x 3.0 或者更新版本构建多平台游戏

Figure 6. 创建 Cocos2d-x 项目

下面的参数的简单解释:

  • new: 创建一个新的项目,后面必须紧跟项目名称(此例中为MyGame)

  • -p: 定义包名

  • -l: 选择编程语言,可以是 cpp 或者 lua

  •  -d: 框架所要创建的工程结构的目录

如果一切顺利,你的项目将会在 Project 目录创建,这也是框架被提取出来的目录。

使用 Cocos2d-x 3.0 或者更新版本构建多平台游戏

Figure 7. MyGame 目录结构

创建出来的项目包含基本的游戏(类)代码,资源(图片,音频等),以及每个框架支持的平台项目。

构建 Android 应用程序

要求:

  • 你需要配置构建 Android 游戏应用程序所需的所有环境变量(Android SDK,Android NDK,以及 ANT)。如果你还没有完成这个步骤,请查看本文“创建第一个游戏”的章节。

  • 安装 Java 开发套件(JDK)

注意:由于 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

使用 Cocos2d-x 3.0 或者更新版本构建多平台游戏

Figure 8. Application.mk文件位置

2 –在文件中增加下面一行内容:

APP_ABI := armeabi armeabi-v7a x86

使用 Cocos2d-x 3.0 或者更新版本构建多平台游戏

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

使用 Cocos2d-x 3.0 或者更新版本构建多平台游戏

Figure 10. 执行命令编译和运行 Android 平台游戏

  • run: 编译和运行项目

  • -s: 工程文件夹路径

  • -p: 选定的平台

注意:如果只是编译,请输入: cocos compile –s Project\MyGame –p android

如果一切运行正常, cocos2d-console 命令将使用adb (如果在环境变量中配置了的话) 在连接的设置中,或者已经初始化的模拟器中,安装APK文件。如果它们不可用,命令将等待设备或模拟器成为可用的状态,如下图所示:

使用 Cocos2d-x 3.0 或者更新版本构建多平台游戏

Figure 11. 命令等待设备或已初始化的模拟器

如果你已经初始化了模拟器或者已经连接了设备,屏幕将会出现:

使用 Cocos2d-x 3.0 或者更新版本构建多平台游戏

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

使用 Cocos2d-x 3.0 或者更新版本构建多平台游戏

Figure 13. 执行命令编译和运行Windows平台下的游戏

参数的简单说明:

  • run: 编译和运行选择的项目

  • -s: 项目文件夹路径

  • -p: 选择的平台

注意: 如果只需要编译,请使用“compile” 代替“run”,像下面这样:

cocos compile –s Project\MyGame –p win32

在执行完命令之后,如果一切运行正常,你将看到如下的屏幕:

使用 Cocos2d-x 3.0 或者更新版本构建多平台游戏

Figure 14. 在Windows平台下的游戏屏幕

可以使用Visual Studio运行和编译此游戏工程:

1 – 在工程目录中, 用Visual Studio打开 “proj.win32”目录下的 MyGame.sln 文件.

使用 Cocos2d-x 3.0 或者更新版本构建多平台游戏

Figure 15. Win32 工程目录结构

2 – 编译工程: 按F6键 (或 Build 菜单 -> Build Solution) ,然后按 F5 执行 (或者 Debug 菜单 -> Start Debugging). 经过编译和执行后,你应该看到和通过控制台操作相同的屏幕显示.

使用 Cocos2d-x 3.0 或者更新版本构建多平台游戏

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最新版中.