标题：cocos2d-x手机游戏开发：跨iOS、Android和沃 Phone平台
基本信息
作者： 徐松林 黄猛 
出版社：人民邮电出版社  
上架时间：2011-12-6
出版日期：2012 年1月
开本：16开
页码：1
版次：1-1[1]
内容简介
该书共有12 章，以跨平台的手机游戏开发为主线，围绕着cocos2d-x 引擎，由浅入深地讲解了智能手机的游戏开发过程、跨平台游戏引擎的原理、周边工具以及游戏开发，还给出了完整的实战案例，语言简洁，结构清晰。
适合所有想进入智能手机平台游戏领域的人士，包括在校大学生、游戏开发者和网络游戏公司的cto 等。 
徐松林 智能手机平台的先驱者，曾就职于国内知名的企业级平台软件公司，主攻复杂系统的架构设计，在此期间积累了有关大型软件架构设计的丰富经验。2010年5月 成立MT工作室，设计并开发用于Android平台的游戏引擎（MT引擎），并基于此引擎开发出多款市场反馈较好的游戏。一直专注于研究跨平台的游戏引 擎，尤其是跨平台引擎的架构及设计原理。
黄猛，专注于移动平台游戏开发，对Android以及50S系统的编程有深入研究，自Android发布以后，一直关注移动平台的发展，从2008年底开始从事Android底层应用以及2D游戏的研发，有丰富的实战经验。是《魔塔之拯救公主》，《超级DJ》和《魔域之城》尊经典游戏的主力开发者。
目录
第1 章 智能手机操作系统介绍　 1 
1.1 ios　 2 
1.1.1 ios 常见特性　 2 
1.1.2 app store 　 3 
1.2 android　 3 
1.2.1 android 常见特性　 3 
1.2.2 android 应用商城　 4 
1.3 其他手机操作系统　 4 
1.3.1 ophone 　 4 
1.3.2 沃phone 　 4 
1.3.3 leos 　 5 
1.4 总结　 5 
第2 章 游戏及游戏引擎介绍　 6 
2.1 游戏介绍　 6 
2.2 游戏引擎介绍　 7 
2.2.1 渲染引擎　 8 
2.2.2 物理引擎　 8 
2.2.3 周边工具　10 
2.3 总结　 10 
.第3 章 进入cocos2d 的世界　 11 
3.1 cocos2d 介绍　 11 
3.2 cocos2d-iphone 介绍　 12 
3.3 cocos2d-x 介绍　13 
3.4 cocos2d-x 游戏分享　 13 
3.5 其他cocos2d 版本介绍　 14 
3.6 总结　 15 
第4 章 搭建跨平台的开发环境　 16 
4.1 环境说明　 16 
4.2 环境搭建　 16 
4.2.1 安装visual studio　 17 
4.2.2 安装cygwin　 19 
4.2.3 安装ios 环境　 23 
4.2.4 安装android 环境　 26 
4.2.5 安装沃phone 环境　 28 
4.2.6 安装cocos2d-x 引擎　 35 
4.3 环境测试之hello world 案例　 35 
4.3.1 windows 运行　 36 
4.3.2 ios 运行　 37 
4.3.3 andriod 运行　 38 
4.3.4 沃phone 运行　 38 
4.4 总结　 40 
第5 章 cocos2d-x 引擎基础使用　 41 
5.1 整体架构　 41 
5.1.1 导演　 44 
5.1.2 摄像机　 46 
5.1.3 场景　 47 
5.1.4 布景　 48 
5.1.5 人物角色　 49 
5.1.6 动作　51 
5.2 目录结构　 51 
5.3 坐标体系　 53 
5.4 跨平台常量　54 
5.5 图形　 55 
5.6 动作　 56 
5.7 菜单　 59 
5.8 事件　 60 
5.9 变量自动释放　 61 
5.10 总结　 62 
第6 章 cocos2d-x 之高级特性　 63 
6.1 物理引擎　63 
6.1.1 世界　 63 
6.1.2 刚体及刚体定义　 65 
6.1.3 形状　 65 
6.1.4 关联及关联定义　 66 
6.1.5 链接及链接定义　 66 
6.1.6 使用案例　 66 
6.2 粒子系统　 67 
6.2.1 重力式粒子系统　 71 
6.2.2 放射式粒子系统　 72 
6.3 声音模块　 74 
6.4 总结　 76 
第7 章 cocos2d-x 之周边工具　 77 
7.1 沃phone 应用程序打包工具　 77 
7.1.1 软件包设置　 78 
7.1.2 应用配置　 80 
7.1.3 添加支持文件　 83 
7.1.4 保存编译　 83 
7.2 图片编辑器　 84 
7.3 地图编辑工具　 85 
7.4 粒子系统设计工具　 88 
7.5 总结　 90 
第8 章 cocos2d-x 之交叉编译　 91 
8.1 交叉编译到ios 平台　 91 
8.1.1 新建ios 项目　 91 
8.1.2 交叉编译　 93 
8.1.3 打包运行　 93 
8.2 交叉编译到android 平台　 93 
8.2.1 新建android 项目　 94 
8.2.2 生成编译脚本　 94 
8.2.3 交叉编译　96 
8.2.4 打包运行　96 
8.3 交叉编译到沃phone 平台　97 
8.3.1 新建沃phone 项目　 97 
8.3.2 生成编译脚本　 99 
8.3.3 交叉编译　101 
8.3.4 打包运行　102 
8.4 总结　102 
第9 章 cocos2d-x 之实用篇　 103 
9.1 游戏社交平台　103 
9.2 手机广告平台　104 
9.3 推广墙平台　105 
9.4 技术准备　105 
9.4.1 cocos2d-x 调用objective-c　 106 
9.4.2 cocos2d-x 调用java 　 107 
9.5 案例实现　111 
9.5.1 场景分析　111 
9.5.2 环境准备　111 
9.5.3 游戏设计　111 
9.5.4 游戏实现　112 
9.5.5 场景总结　125 
9.6 总结　125 
第10 章 “魔塔”案例之基础篇　 126 
10.1 先熟悉一下游戏　126 
10.2 准备工作　 126 
10.3 绘制最简单的游戏地图　127 
10.4 人物行走　130 
10.5 碰撞检测　144 
10.6 总结　146 
第11 章 “魔塔”案例之高级篇　147 
11.1 重构代码　147 
11.1.1 分离场景和图层　 147 
11.1.2 分离游戏对象　 149 
11.1.3 小结　 163 
11.2 添加更多游戏元素　 165 
11.2.1 添加怪物　 166 
11.2.2 添加物品和门　 175 
11.2.3 添加对象层　 179 
11.2.4 小结　188 
11.3 总结　189 
第12 章 未来展望　190 
12.1 智能手机系统的发展趋势　 190 
12.1.1 ios 的发展趋势　 190 
12.1.2 android 的发展趋势　191 
12.1.3 沃phone 的发展趋势　191 
12.2 手机游戏的发展趋势　 192 
12.2.1 手机单机游戏　192 
12.2.2 手机网络游戏　 193 
12.3 cocos2d-x 引擎的发展趋势　 194
前言
当前3G技术盛行，手机游戏已经得到快速发展。《植物大战僵尸》、《愤怒的小鸟》和《SNS的农场》等游戏先驱者已经在智能手机上大获丰收。 
随着智能手机系统增多，作为手机游戏的开发者，我们需要同时了解多个系统的特性，并基于多个系统开发出自己的游戏，此时就需要解决跨平台的问题。好的跨平台引擎，可以做到编写一次代码，然后在多个系统上运行。cocos2d-x引擎已经能够支持微软的Windows系统、苹果的iOS系统、谷歌的Android系统以及中国联通的沃Phone系统，未来还将支持Bada和Symbian等系统。 
本书面向的读者 
本书由浅入深，从基础知识到引擎分析，再到实战游戏使用，结构清晰、语言简洁，非常适合想进入智能手机平台游戏领域的相关人士（大学在校生、游戏开发者、网络游戏公司的CTO）阅读参考。 
本书的内容 
本书以跨平台的手机游戏开发为主线，主要讲解了智能手机游戏的开发过程、跨平台游戏引擎的原理、周边工具以及跨平台的游戏开发，同时还给出了完整的实战案例。 
本书中对开发手机游戏的相关知识（尤其是使用cocos2d-x引擎进行手机游戏开发）做了合理的划分，具体安排如下。 
第1章是智能手机操作系统介绍，主要介绍几个常见的智能手机操作系统，包括苹果的iOS系统、谷歌的Android系统以及中国联通的沃Phone系统等。 
第2章是游戏及游戏引擎介绍，主要介绍游戏的分类、游戏引擎的基础知识，同时简单介绍了游戏引擎中的渲染引擎和物理引擎等。 
第3章开始进入cocos2d的世界，主要介绍cocos2d、cocos2d-iphone以及cocos2d-x引擎的基础知识，也给出了基于cocos2d-x引擎的优秀游戏分享。 
第4章是搭建跨平台的开发环境，主要介绍如何在Windows系统上搭建跨平台游戏的开发环境，并以一个最简单的游戏为例给出其在各个平台上的运行效果。 
第5章是cocos2d-x引擎的基础使用，主要围绕游戏开发过程中的各个环节展开介绍，包括游戏的整体架构、图形、动作和菜单等。 
第6章是cocos2d-x引擎高级特性的介绍，主要介绍cocos2d-x引擎中的物理引擎、粒子系统和声音模块等。 
第7章是cocos2d-x引擎的周边工具，主要介绍沃Phone应用程序打包工具、图片编辑器、地图编辑工具和粒子系统设计工具。 
第8章是cocos2d-x引擎的交叉编译部分，主要介绍基于cocos2d-x引擎的游戏如何做到跨平台，同时以实际的游戏为例将其交叉编辑到iOS平台、Android平台和沃Phone平台上。 
第9章是cocos2d-x引擎的实用篇，讲解了cocos2d-x引擎与游戏社交平台、手机广告平台和推广墙平台的集成方式，通过这一章的学习，我们可以充分利用社交模块为游戏添砖加瓦。 
第10章和第11章讲述了一个完整的游戏案例的制作过程，这一部分会结合代码图文并茂地讲解游戏，从零开始讲解益智类RPG游戏（魔塔）是如何一步一步被设计和开发出来的。 
第12章是未来展望，主要介绍智能手机系统和手机游戏的发展趋势，以及cocos2d-x引擎的发展方向等未来趋势。 
本书的编写得到了王哲以及多位专家的大力协助，在此深表感谢。同时，在本书的编写过程中，我的妻子已经怀有宝宝，正是有了她的支持和体谅本书才能准时交稿。最后我希望所有阅读本书的人都能够从中受益，在手机游戏领域占有自己的一席之地。 
徐松林 
.　2011年9月
序言
近几年，开源力量在全球软件行业里扮演着越来越重要的角色。就移动互联领域而言，Linux内核被广泛用在嵌入式系统和无头设备，Android崛起，PhoneGap诞生，服务端LAMP已是标配，svn/git和Redmine成为很多软件公司的管理工具。时至今日，已经很难有哪家软件公司敢说他们完全不用开源产品了。国内的盛大和淘宝等公司都推出了开源平台，尝试开放企业的一些内部项目的源代码，这些都是非常有意义的举动。就国内开源历史来看，最成功的开源项目当属Discuz、PHPWind和Dvbbs，这3个开源项目服务了国内无数中小网站的站长。而cocos2d-x这一开源项目所追求的目标正是服务大量的手机游戏开发者，把大家都需要花费大量时间学习和需要花费时间重复做的工作抽取出来，形成一套开源的公用库。往大了说就是，希望能通过这套公用库来降低手机游戏开发的技术门槛和研发成本，使得中小团队和个人开发者能从中受益。 
cocos2d-x仅是cocos2d社区的一个分支。cocos2d开源项目诞生于2008年第一季度，以阿根廷人Ricardo Quesada为社区领袖和主要开发者。最初这仅是一个用Python语言写的游戏框架，并没有体现出什么商用价值，但2008年正好是苹果发布iPhone 2.0 SDK的时候，这给全球的手机游戏开发者提供了一个非常好的舞台。cocos2d社区抓住了这个时机，在2008年就开出cocos2d-iphone分支，用Objective-C语言替换Python重写了整个框架。cocos2d随着iOS的发展而快速壮大。到了2009年的4月，用cocos2d-iphone写的游戏StickWars在App Store美国区的付费榜冲到第一，这个里程碑事件标志着cocos2d完全脱离了自娱自乐过家家的水平，进入了可以稳定商用的阶段。在2010年，cocos2d已经成为iOS平台上首选的2D游戏框架：几乎每个初学iOS游戏开发的程序员都会从cocos2d入手，社区里时常有开发者跳出来炫耀他的cocos2d游戏冲到App Store Top10，让人“羡慕嫉妒恨”。 
cocos2d框架的最大优势在于其简单易学，游戏开发者只需潜心学习一个月左右就能掌握，不需要学习复杂的OpenGL ES知识就可以开发出一款商用水平的游戏，却能完全享受OpenGL ES硬件加速给游戏带来的性能提升和各种炫酷特效。这一核心特点成就了许多个人开发者和中小团队通过cocos2d快速在iOS平台上掘金的梦想。 
前文提到，2008年cocos2d社区用Objective-C替换Python对整个游戏框架进行了重写，而在2010年当Android崛起到能够和iPhone抗衡，开发者希望能把游戏移植到Android平台上的时候，同样的事情再次上演：cocos2d-x分支被开出来，框架用C++重写。虽然C++广被诟病，但作为iOS和Android两大平台都官方支持的编程语言，我们不得不“屈服”于C++的实力。事后证明这个技术路线的选择是对的！市面上各种Phone粉墨登场，都有自己独特的SDK、独特的UI控件接口，但对于游戏开发，它们具有两个相同点：一是支持C++开发，二是提供OpenGL ES接口。在这两点上，不论是国内的沃Phone、Ophone、乐Phone和魅族，还是国外的Bada和MeeGo等，都是一致的。甚至连封装层面甚高、直奔HTML5而去的WebOS都专门为游戏开发准备了C++&OpenGL ES专用的PDK。 
和cocos2d-iphone的南美洲团队不同，cocos2d-x分支的主要维护团队在中国，我们有幸为大家做了这件事情，并很享受这个利他的过程。在大家的共同努力下，经过第一年的发展，社区里诞生了70多款基于cocos2d-x的游戏，其中包括多款Top 10的佳作，更有《捕鱼达人》、《Ah Up Planet》、《地铁总动员》和《91部落》等明星游戏。截至2011年10月中旬，基于cocos2d-x引擎创作的游戏在iOS平台已累计超过340万次下载，在Android平台则超过1000万次下载。 
很快我们就发现大家都开始积极地回馈cocos2d-x项目。网龙公司为社区贡献了整套Lua绑定的代码，SuperRacccon、子龙山人、冬天的林和张文野等多位开发者不断撰写博客阐述使用要点，徐松林和黄猛更是热心地花费几个月的时间，为各位献上的这本教程。它不仅是cocos2d-x社区的第一本中文书，也是整个cocos2d社区的第一本中文书。 
cocos2d-x的官方文档都受限于社区的国际化，因此没能提供中文版。另外，很多文档都是站在引擎开发者角度对原理进行阐述和解释的，对于初学者来说可能过于复杂。而此书从游戏开发者的角度，用通俗易懂的方式传授了cocos2d-x引擎的几个主要功能的用法，着重解决官方文档里没有涵盖的部分，如物理引擎和周边工具的使用，解答了新手经常感到困惑的热点问题，如开发环境安装、交叉编译和第三方库集成等。作者在这些地方都非常耐心地给出了按步骤的截图和代码段；最后，两位作者更是给出了一个很有分量的实际游戏案例，使得此书的学习价值大大提高。 
非常感谢徐松林和黄猛两位作者的贡献，希望能有更多的游戏开发者从此书中受益。开源社区因为有大家的支持而更美好！ 
2011年10月 
（本书封面素材使用了《捕鱼达人》iPhone版的游戏截图，特此感谢触控科技的慷慨支持。）
媒体评论
纵观移动互联网时代各大移动平台的发展，游戏无疑是大众娱乐的首选。由于各个平台的差异性，游戏开发的难度和成本逐渐增 加，“跨平台”一词也成为了移动游戏开发者最关注的焦点，还等什么呢？如果你想一次编码，多平台运行，cocos2d-x正是你需要的，而本书则由浅入深 地介绍了cocos2d-x游戏开发的全过程，理论与实践相结合，是移动游戏开发者不可多得的佳作。强烈推荐！ 
——杨丰盛（yarin），More-Top团队创始人，畅销IT图书作家 
在 移动客户端发展愈演愈烈的今天，移动开发技术已经成为了主流之一。我们看到很多移动开发团队取得了成功，而成功并不是一蹴而就的，我们需要的是若干年的积 累，最后形成质的飞跃。《cocos2d-x手机游戏开发》这本书，也许就是您走向明天成功的开始，而cocos2d-x，可能就是您走向成功的基石。 
——赵磊，51CTO副总编 
喜 欢游戏，不是因为某平台的各种一夜暴富的传说，而是儿时心中的梦想。轻盈、纯洁、开放、坦诚地面对每一个朋友，cocos2d-x无疑是最合适的。感谢本 书的作者给我们揭开cocos2d-x神秘的面纱，带我们走进这个世界。在移动互联网和移动应用火热的今天，我们需要这样一个向导，为我们打开通往这个世 界的传送门，去这个全新的领域追寻、探索。不要错过这个机会，不要让自己的梦想冷却，深埋心底。 
——王明杨，永杨安风（LBE安全大师）CEO 
目 前，在苹果App Store和谷歌Android Market的排行榜内，收入较高的绝大部分都是游戏。市场和用户选择了游戏，所以我们也选择了游戏！本书详尽、全面、深入地介绍了如何使用游戏引擎开发 优质游戏以及如何快速集成游戏社交平台、手机广告平台、虚拟物品及流量互换的推广墙服务，从而快速开发、快速扩大用户规模和获取积极的游戏收入。本书的出 版恰逢其时，是手机游戏开发者必备的佳作，强烈推荐！ 
——刘琦，Wiyun Inc.（微云） COO