Ready Steady Play(1)

2015年03月24日 10:50 0 点赞 0 评论 更新于 2025-11-21 18:22

为什么选择 Cocos2d-x?

Ready Steady Play 是我首个主要的游戏开发项目。由于我未曾尝试过众多其他可用选项,所以我无法自信地宣称“这就是最佳选择,就用它!”。不过,我曾使用过 Cocos2d-iphone(即现在的 Cocos2d-swift),并且十分喜爱它。Cocos2d-x 作为 Cocos2d-iphone 的一个分支,具备以下显著优势:

跨平台

Cocos2d-x 支持多平台,这使得开发者能够一次开发,多平台部署,大大提高了开发效率。

针对 2D 游戏优化

该引擎专门针对 2D 游戏进行了优化,在处理 2D 图形、动画等方面具有出色的性能和便捷的操作方式。

开源

Cocos2d-x 是在 MIT 许可证下发布的开源游戏引擎。这意味着开发者可以根据自身需求对其进行调整,而且无需支付任何费用。

有不少人问我为何不选用 Unity。不可否认,Unity 是一款强大的工具,尤其在原型设计以及满足任何 3D 需求(不仅限于游戏)方面表现卓越,若遇到此类情况,我会毫不犹豫地选择它。然而,若你计划开发 2D 游戏,我并不建议使用 Unity。主要原因在于,2D 游戏处理 3D 坐标系会带来极大的困扰,无异于自寻烦恼。其次,我更倾向于能够更便捷地接触原生代码。尽管在 Cocos2d-x 中实现这一点并非易事,但相较于 Unity 而言,它要简单许多。

开源项目蕴含着丰富的学习资源。当你遇到问题,对所使用的库的工作原理感到困惑时,你可以通过深入代码来逐步追踪问题。而对于闭源系统,你只能依赖文档和指导手册来调试问题。特别是当你误用 API 时,常常会产生一些隐蔽的副作用,进而导致严重的 bug 或性能问题。使用开源库能够让你访问内部代码,这对于排查问题非常有帮助。你肯定不希望提交一个支持请求,然后等待 24 至 48 小时才被告知某些功能不能使用。

游戏开发需要扎实的编程功底,Cocos2d-x 也不例外。如果你想学习如何绘制贝塞尔曲线路径或进行各种几何计算,Cocos2d-x 中已经有现成的代码可供参考。若你的游戏有相关需求,你还可以添加自己的数学方法,展示自己的实力,并成为项目的贡献者。

开发指南

我在开发 Ready Steady Play 时使用的是 Cocos2d-x 2.2.x 版本,但大部分内容也适用于 3.x 版本。以下是一份全面的开发指南,但并不涵盖开发过程的每一个细节。

如果你不想深入研究 C++,可以选择 Cocos2d-JS,通过 JavaScript API 调用即可制作 Cocos2d-x 游戏。本指南仅针对 Cocos2d-x 项目。

先决条件

以下条件并非全部必需,但强烈建议满足。具备编程基础是一个良好的开端。

  • C/C++ 和面向对象编程中等水平:在深入开发之前,我重新复习了 Bjarne Stroustrup 所著的《C++ 编程语言》的前几章。
  • 了解循环:循环是编程中的基本概念,对于游戏开发至关重要。
  • shell 脚本初级水平和了解 Makefiles:掌握 shell 脚本和 Makefiles 有助于自动化构建和管理项目。
  • 熟练使用 IDE 和查看文档:Cocos2d-x 的文档相对较少,但足以帮助你解决一些特定问题。我经常参考 Cocos2d-x 论坛和 StackOverflow。
  • git 入门级水平:掌握 git 版本控制工具对于团队协作和项目管理非常有用。

创建项目

  1. 在项目根目录创建一个空的 git 仓库。
  2. 使用 git 子模块引入 Cocos2d-x,并使用最新的 tag/release。(我对该项目进行了 fork,以便进行调整以适配 Ready Steady Play)
  3. 将 C++ 的模板工程复制到根目录。(实际上,2.2.x 版本可以使用 tools/project-creator 文件夹下的 create_project.py 脚本创建,3.x 版本使用 setup.py 脚本创建。)

初始设置会创建游戏开发所需的文件夹,项目根目录应包含以下内容:

  • Classes:包含所有你将编写的游戏逻辑文件。
  • cocos2d-x:由上面第二步通过 git 子模块创建。
  • proj.android/ios/mac/…:Cocos2d-x 创建的各平台构建的项目文件夹。
  • Resources:用于存放声音、图片、字体等资源文件。

运行游戏

由于我有 iOS 开发背景,所以我选择 proj.ios 文件夹作为主要的编程工作目录。我对 Xcode 十分熟悉,它在所有开发环境中构建速度最快(相较于 Eclipse 和 Visual Studio Express 2013),模拟器启动迅速且易于调试。

作者信息

menghao

menghao

共发布了 3994 篇文章