资源名称:Cocos2d-x高级开发教程:制作自己的《捕鱼达人》

内容简介:

Cocos2d-x是移动跨平台开发最流行的游戏引擎,而本书是一本很全面的、比较‘接地气’的游戏开发教程。书中汇聚了热门手机游戏《捕鱼达人》开发的实战经验,作者从最基础的内容开始,逐步深入地介绍了Cocos2d-x的相关知识点。此外,书中的教学资源获得《捕鱼达人》手机游戏的授权,读者可以从一流游戏开发中高起点地开始一段学习,掌握宝贵的开发经验。

资源目录:

第一部分 引擎基础

第1章 Hello Cocos2d-x  2

1.1  引擎简介  2

1.2  搭建开发环境  3

1.3  Hello World  5

1.4  Hello World分析  6

1.5  测试样例简介  10

1.6  小结  11

第2章 在游戏开始之前  12

2.1  基本概念  12

2.1.1  场景与流程控制  12

2.1.2  层  13

2.1.3  精灵  14

2.1.4  节点与渲染树  14

2.1.5  动作与动画  16

2.2  Cocos2d-x代码风格  16

2.2.1  命名空间与类名称  16

2.2.2  构造函数与初始化  17

2.2.3  选择器  18

2.2.4  属性  19

2.2.5  单例  20

2.3  C++中的Cocos2d-x内存管理  21

2.3.1  复杂的内存管理  21

2.3.2  现有的智能内存管理技术  21

2.3.3  Cocos2d-x的内存管理机制  22

2.3.4  工厂方法  25

2.3.5  关于对象传值  26

2.3.6  释放:release()还是autorelease()?  26

2.3.7  容器  27

2.3.8  相关辅助宏  28

2.3.9  Cocos2d-x内存管理原则  28

2.4  生命周期分析  29

2.5  小结  31

第3章 游戏的基本元素  32

3.1  CCDirector:大总管  32

3.2  CCScene:场景  33

3.3  CCLayer:层  34

3.4  CCSprite:精灵  35

3.4.1  纹理  35

3.4.2  创建精灵  35

3.4.3  设置精灵的属性  36

3.4.4  向层中添加精灵  36

3.4.5  常用成员  38

3.5  CCNode与坐标系  39

3.5.1  坐标系与绘图属性  40

3.5.2  节点的组织  43

3.5.3  定时器事件  44

3.5.4  其他事件  46

3.6  Cocos2d-x内置的常用层  46

3.7  Cocos2d-x调度原理  49

3.7.1  游戏主循环  50

3.7.2  定时调度器  53

3.8  小结  58

第4章 动作  60

4.1  基本概念  60

4.2  瞬时动作  61

4.3  持续性动作  62

4.3.1  位置变化动作  63

4.3.2  属性变化动作  64

4.3.3  视觉特效动作  65

4.3.4  控制动作  65

4.4  复合动作  66

4.5  变速动作  68

4.6  使鱼动起来  70

4.7  创建自定义动作  74

4.7.1  一点简单的物理知识  74

4.7.2  创建自定义动作  75

4.8  让动作更平滑流畅  77

4.9  Cocos2d-x动作原理  79

4.9.1  动作类的结构  79

4.9.2  动作的更新  80

4.9.3  CCActionManager的工作原理  81

4.10  小结  83

第5章 动画与场景特效  84

5.1  动画  84

5.1.1  概述  84

5.1.2  使用动画  85

5.2  场景特效  86

5.3  小结  87

第6章 音乐与音效  88

6.1  使用音效引擎  88

6.2  支持格式  89

6.3  播放音乐与音效  89

6.3.1  预加载  89

6.3.2  播放与停止  90

6.3.3  暂停与恢复播放  90

6.3.4  其他成员  91

6.4  小结  92

第7章 用户输入  93

7.1  触摸输入  93

7.1.1  使用CCLayer响应触摸事件  93

7.1.2  两种Cocos2d-x触摸事件  94

7.2  触摸分发器原理  97

7.3  触摸中的陷阱  100

7.4  使用触摸事件  100

7.4.1  使炮台动起来  100

7.4.2  识别简单的手势  103

7.5  加速度计  105

7.6  文字输入  107

7.7  小结  110

第二部分 引擎进阶

第8章 粒子效果  114

8.1  Cocos2d-x中的粒子系统  114

8.2  粒子效果编辑器  117

8.2.1  界面介绍  117

8.2.2  制作火焰特效  121

8.3  小结  124

第9章 大型地图  125

9.1  瓦片地图  125

9.2  编辑器  126

9.2.1  Tiled Map Editor简介  126

9.2.2  创建水底世界  127

9.3  导入游戏  131

9.4  实现层次感  132

9.5  预定义属性  135

9.6  小结  135

第10章 Cocos2d-x绘图原理及优化  136

10.1  OpenGL基础  136

10.1.1  OpenGL简介  136

10.1.2  绘图  140

10.1.3  矩阵与变换  143

10.2  Cocos2d-x绘图原理  145

10.2.1  精灵的绘制  145

10.2.2  渲染树的绘制  147

10.2.3  坐标变换  150

10.3  TexturePacker与优化  152

10.3.1  绘图瓶颈  152

10.3.2  碎图压缩与精灵框帧  153

10.3.3  批量渲染  154

10.3.4  色彩深度优化  156

10.4  小结  157

第11章 OpenGL绘图技巧  159

11.1  自定义绘图  159

11.2  遮罩层  161

11.3  数据交流  164

11.4  可编程管线  168

11.4.1  可编程着色器  168

11.4.2  CCGLProgram  168

11.4.3  变量传递  169

11.5  水纹效果  170

11.5.1  着色器程序  171

11.5.2  ShaderNode类  172

11.5.3  uniform变量准备  174

11.5.4  绘制  175

11.5.5  添加到场景  176

11.6  CCGrid3D  177

11.7  再议效率  178

11.8  小结  179

第12章 物理引擎  180

12.1  新的超级武器  180

12.2  Box2D引擎简介  181

12.3  接入Box2D  181

12.4  更新状态  184

12.5  调试绘图  186

12.6  碰撞检测  187

12.7  弹射  189

12.8  精确碰撞  190

12.9  小结  191

第三部分 游戏开发进阶

第13章 数据持久化  194

13.1  CCUserDefault  194

13.2  格式化存储  194

13.3  本地文件存储  196

13.4  XML与JSON  196

13.5  加密与解密  200

13.6  SQLite  201

13.7  小结  205

第14章 网络  206

14.1  网络传输架构  206

14.2  CURL  206

14.3  简单传输  207

14.4  非阻塞传输  209

14.5  用户记录  211

14.6  多人对战与同步问题  211

14.6.1  时间同步  212

14.6.2  鱼群同步  212

14.7  校验  213

14.8  小结  213

第15章 缓存与池  215

15.1  移动设备昂贵的CPU与内存  215

15.2  缓存机制:预加载与重复使用  216

15.3  Cocos2d-x中的缓存  216

15.3.1  CCTextureCache  216

15.3.2  CCSpriteFrameCache  217

15.3.3  CCAnimationCache  217

15.4  对象池机制:可回收与重复使用  218

15.5  对象池实现  218

15.6  落实到工厂方法  221

15.7  一个简单的性能测试  222

15.8  使用时机  223

15.9  小结  224

第16章 并发编程  225

16.1  单线程的尴尬  225

16.2  pthread  225

16.3  线程安全  226

16.4  线程间任务安排  227

16.5  并发编程辅助  228

16.6  小结  233

第四部分 多平台

第17章 多平台下的Cocos2d  236

17.1  Windows 8  236

17.2  Windows Phone平台  237

17.3  Cocos2d-HTML5  237

17.4  移植  238

17.5  小结  238

第18章 可视化开发  239

18.1  CocosBuilder可视化开发  239

18.2  使用CocosBuilder创建场景  239

18.3  在Cocos2d-x项目中使用场景  241

18.4  小结  242

第19章 Cocos2d-HTML5   243

19.1  概述  243

19.2  开发流程  244

19.2.1  开发环境介绍  245

19.2.2  搭建开发环境  245

19.2.3  开始开发  249

19.3  代码安全  255

19.4  小结  257

第20章 移植  258

20.1  命名原则  258

20.1.1  类名称  258

20.1.2  类函数  259

20.1.3  属性  259

20.1.4  选择器  260

20.1.5  全局变量、函数与宏  260

20.2  跨语言移植  262

20.2.1  第一阶段:代码移植  262

20.2.2  第二阶段:消除平台差异  265

20.2.3  第三阶段:优化  268

20.3  小结  269

第五部分 实战篇

第21章 实战演练开发自己的《捕鱼达人》  272

21.1  开发前的准备  273

21.1.1  视图  273

21.1.2  模型  274

21.1.3  控制器  275

21.2  开始开发  275

21.2.1  第一轮迭代  275

21.2.2  第二轮迭代  289

21.2.3  第三轮迭代  293

附录A  把游戏部署到Android平台  299