Android Cocos2d-x 开发完整指南
Cocos2d-x 是一个用 C++ 编写的开源、轻量级、高性能的 2D 游戏引擎,它支持多平台(包括 Android, iOS, Windows, macOS 等),拥有庞大的开发者社区和丰富的资源,是开发 2D 游戏的绝佳选择。

本教程将分为以下几个部分:
- 环境准备:搭建 Android 和 Cocos2d-x 开发环境。
- 创建第一个项目:使用 Cocos2d-x 命令行工具创建一个新项目。
- 项目结构解析:了解 Cocos2d-x 项目的文件组织方式。
- 核心概念:学习 Cocos2d-x 的场景、层、精灵、动作等基本概念。
- 实战演练:制作一个简单的点击游戏:通过一个实例巩固所学知识。
- 构建与运行:将项目编译并运行到 Android 手机或模拟器上。
- 进阶学习资源:推荐更多学习资料。
第一部分:环境准备
在开始之前,你需要安装以下软件:
-
Java Development Kit (JDK):Cocos2d-x 需要 Java 环境进行构建,建议安装 JDK 8 或更高版本。
- 下载地址:Oracle JDK 官网
-
Android Studio:Google 官方的 Android 开发 IDE,它集成了 Android SDK 和模拟器管理器。
(图片来源网络,侵删)- 下载地址:Android Studio 官网
-
Android NDK (Native Development Kit):用于编译 C/C++ 代码,在 Android Studio 的 SDK Manager 中下载。
- 打开 Android Studio ->
Tools->SDK Manager->SDK Tools。 - 勾选
NDK (Side by side)和CMake,然后点击Apply安装。 - 记录下 NDK 的安装路径,
C:\Users\YourUser\AppData\Local\Android\Sdk\ndk\25.1.8937393。
- 打开 Android Studio ->
-
Cocos2d-x 命令行工具:这是创建和管理 Cocos2d-x 项目的核心工具。
- 方法一(推荐):通过
pip安装,确保你的 Python 版本是 3.x。pip install cocos2d-x
- 方法二:从 Cocos2d-x 官方 GitHub 下载源码,并按照官方文档配置环境变量。
- 方法一(推荐):通过
-
配置环境变量:
- 将 Cocos2d-x 的
tools/cocos2d-console/bin目录添加到系统的PATH环境变量中,这样你就可以在任何地方使用cocos命令。 - Windows: 此电脑 -> 属性 -> 高级系统设置 -> 环境变量 -> 在
系统变量中找到Path-> 编辑 -> 新增,并添加 Cocos2d-x 的 bin 目录路径。 - macOS / Linux: 在
~/.bash_profile或~/.zshrc文件中添加export PATH=$PATH:/path/to/cocos2d-x/tools/cocos2d-console/bin,source该文件。
- 将 Cocos2d-x 的
验证安装:打开一个新的终端(命令提示符),输入 cocos -v,如果能看到版本号,说明安装成功。

第二部分:创建第一个项目
让我们用命令行工具创建一个新项目。
-
打开终端,进入你想要存放项目的目录。
-
运行以下命令:
cocos new MyFirstGame -p com.mycompany.myfirstgame -l cpp -d ./MyGames
new:创建新项目。MyFirstGame:项目名称。-p com.mycompany.myfirstgame:包名,遵循 Android 包命名规范。-l cpp:使用 C++ 作为开发语言(也可以用lua或javascript)。-d ./MyGames:项目存放的目录。
-
命令执行后,会在
./MyGames目录下创建一个名为MyFirstGame的文件夹,这就是你的项目根目录。
第三部分:项目结构解析
进入 MyFirstGame 目录,你会看到以下主要文件夹和文件:
proj.android/:Android 项目的原生代码和配置文件,你可以用 Android Studio 打开这个目录来配置和调试。proj.android-studio/:一个更现代的、使用 Gradle 构建的 Android Studio 项目。推荐使用这个目录。proj.ios_mac/:iOS 和 macOS 项目的配置文件。proj.windows/:Windows 项目的配置文件。cocos/:Cocos2d-x 引擎的核心源代码。resources/:存放游戏资源的地方,如图片、音频、配置文件等。src/:存放你的游戏逻辑代码。HelloWorldScene.cpp/h:默认创建的场景文件,是游戏的入口。
CMakeLists.txt:CMake 构建脚本,用于管理 C++ 代码的编译。
第四部分:核心概念
Cocos2d-x 的核心思想是基于“树状节点”的架构。
-
导演:
Director是整个游戏的“大管家”,是一个单例类。- 它负责管理场景的切换、控制游戏循环、获取窗口大小等。
- 常用方法:
Director::getInstance()获取实例,replaceScene()切换场景。
-
场景:
Scene是一个容器,用来承载游戏的不同画面,比如主菜单、游戏主界面、结算界面等。- 一个游戏通常由多个
Scene组成。
-
层:
Layer是Scene的子节点,用来组织和管理游戏中的不同元素。- 一个游戏场景可以有背景层、角色层、UI 层等。
Layer可以处理用户输入(触摸、键盘事件)。
-
精灵:
Sprite是游戏中最基本的可视元素,通常用于显示角色、道具、背景等。- 你可以通过一张图片(
SpriteFrame)来创建一个精灵。
-
动作:
Action是让节点产生动画效果的方式。- 移动、旋转、缩放、淡入淡出等。
- Cocos2d-x 提供了丰富的即时动作(
InstantAction)和持续动作(FiniteTimeAction)。
-
节点:
Node是所有可显示对象(Scene,Layer,Sprite等)的基类。- 它拥有位置、旋转、缩放、颜色等属性,并且可以有自己的子节点,形成层级关系。
第五部分:实战演练:制作一个简单的点击游戏
我们将修改 HelloWorldScene,制作一个点击屏幕让精灵跳跃的小游戏。
-
准备资源:
- 准备一张名为
player.png的角色图片,尺寸最好是 2 的幂(如 128x128)。 - 将这张图片放入
MyFirstGame/resources目录下。
- 准备一张名为
-
打开项目:
- 用 Android Studio 打开
MyFirstGame/proj.android-studio目录。 - 等待 Gradle 同步完成。
- 用 Android Studio 打开
-
修改代码:
- 在 Android Studio 的左侧文件浏览器中,找到
app/src/main/cpp目录,然后找到HelloWorldScene.cpp文件。 - 打开
HelloWorldScene.cpp,替换其内容为以下代码:
#include "HelloWorldScene.h" #include "cocostudio/CocoStudio.h" #include "ui/CocosGUI.h" USING_NS_CC; Scene* HelloWorld::createScene() { // 创建一个场景 auto scene = Scene::create(); // 创建一个层 auto layer = HelloWorld::create(); // 将层添加到场景中 scene->addChild(layer); // 返回场景 return scene; } // 在这里实现 "init" 方法 bool HelloWorld::init() { // 1. 先调用父类的 init 方法 if ( !Layer::init() ) { return false; } // 2. � - 在 Android Studio 的左侧文件浏览器中,找到
