前言

Cocos2d-x是一个通用平面游戏引擎,基于一个同样十分著名的游戏引擎Cocos2d-iPhone设计。它继承了Cocos2d系列引擎一贯的特点:使用简单,运行高效、灵活,且功能强大。

与Cocos2d-iPhone不同的是,Cocos2d-x还拥有强大的跨平台能力,只需要编写一次代码,就可以无缝地部署在包括iOS、Android、Windows、OS X在内的许多主流游戏平台之上。在移动终端日趋多样化的今天,把游戏部署到多种平台是游戏开发的大趋势,Cocos2d-x的跨平台能力无疑为开发者节省了大量的时间和精力。

本书的主要目的是向读者介绍Cocos2d-x这个十分优秀的平面游戏引擎。阅读完本书前三部分之后,读者会对Cocos2d-x的各个方面都有比较深入的了解,并且也会对游戏开发的过程以及技巧有了一定的认识,可以得心应手地使用Cocos2d-x进行游戏开发了。

同时,本书第四部分介绍了一些最新的游戏开发技术,包括多平台开发、可视化开发、游戏移植,以及Cocos2d-HTML5。它们作为Cocos2d-x的补充,为游戏开发者带来了极大的便利。阅读完这一部分之后,读者将对游戏开发的趋势有一个新的认识。

示例代码

本书采用了时下最热门的游戏《捕鱼达人》作为游戏示例。《捕鱼达人》由北京触控科技有限公司开发,采用Cocos2d-x作为游戏引擎。在本书中,我们以开发自己的《捕鱼达人》作为主线,一边讲解游戏开发技术,一边不断地完善捕鱼游戏,并最终引导读者实现属于自己的《捕鱼达人》。

为了使读者可以完整地体验一次游戏开发流程,本书还在第五部分安排了实战演练章节,带领读者体验真正的游戏开发:从创建空项目开始,然后进行首轮开发与多次迭代,最终得到可以运行在移动设备上的游戏成品。

本书示例游戏中包含的所有资源文件,都源自触控科技有限公司授权使用的《捕鱼达人》原版资源文件。读者可以从图灵社区(www.ituring.com.cn)本书主页免费获取实战章节中的代码,以及所使用的资源文件。

读者背景

阅读本书需要具备一定的计算机知识以及编程功底。Cocos2d-x采用C++编写,熟练掌握C++语言对于学习本书是很有必要的。此外,本书第四部分涉及了游戏多平台的话题,在阅读这一部分时,根据读者不同的需求,也许还需要了解JavaScript、Objective-C以及C#的知识。

本书是针对Cocos2d-x游戏开发者撰写的,无论是初学者、有一定经验的开发者,还是对引擎内部工作原理有兴趣的读者,都十分适合阅读本书。

  • 对于初学者:本书前两部分从游戏开发的基础知识开始,详细介绍了游戏开发的方法以及所使用的工具,初学者可以轻松入门。

  • 对于从事过游戏开发,包括使用过其他Cocos2d引擎的读者:本书利用《捕鱼达人》作为示例,完整展示了游戏从开发到部署的各个环节。书中不仅介绍了Cocos2d-x中常用的功能与技巧,还探讨了许多配合Cocos2d-x所使用的高级技术,涵盖游戏效率优化、网络通信和游戏移植等时下热门的话题。

  • 对于好奇引擎工作原理的读者:本书第一部分与第二部分穿插剖析了Cocos2d-x的核心代码,为读者理解引擎的工作原理提供了清晰的思路。配合本书来研究Cocos2d-x的代码是一个很好的选择。

本书分工与致谢

本书的主要作者为尹航,整体设计及撰写思路由马朔负责,第1至7章、第8章、第10章、第17章至第20章,以及附录A由尹航编写,第9章、第11章至第16章由丁伟杰编写,第21章由张三华编写。

在此,首先要感谢北京触控科技有限公司以及Cocos2d-x开发团队对本书提供的多方面的帮助,他们共同为本书提供了最权威的技术支持。感谢中山大学在团队发展过程中所给予的大力支持。同样感谢马朔带领下的火烈鸟网络所有成员对本书的贡献,他们是叶思聪、彭颖辉、潘阳和郑浩等,没有他们的努力,就不会有这本书。本书的插图由尹航的女友赵婉滢提供,感谢她提供的精美插图以及在本书编写过程中的支持与耐心。最后,感谢所有为本书提出评论、建议以及支持的网友:小小、Hana以及其他的朋友们,他们的建议使得本书更加完善。

由于笔者水平有限,书中内容难免会有错误或疏漏,欢迎读者批评指正。

目录

  • 前言
  • 第一部分 引擎基础
  • 第1章 Hello Cocos2d-x
  • 第2章 在游戏开始之前
  • 第3章 游戏的基本元素
  • 第4章 动作
  • 第5章 动画与场景特效
  • 第6章 音乐与音效
  • 第7章 用户输入
  • 第二部分 引擎进阶
  • 第8章 粒子效果
  • 第9章 大型地图
  • 第10章 Cocos2d-x绘图原理及优化
  • 第11章 OpenGL绘图技巧
  • 第12章 物理引擎
  • 第三部分 游戏开发进阶
  • 第13章 数据持久化
  • 第14章 网络
  • 第15章 缓存与池
  • 第16章 并发编程
  • 第四部分 多平台
  • 第17章 多平台下的Cocos2d
  • 第18章 可视化开发
  • 第19章 Cocos2d-HTML5
  • 第20章 移植
  • 第五部分 实战篇
  • 第21章 实战演练——开发自己的《捕鱼达人》
  • 附录A 把游戏部署到Android平台
  • 与作者沟通问题