前言
         第一部分 基础篇
         第1章 认识Cocos2D-X / 2
         1.1 什么是Cocos2D / 2
         1.1.1 Cocos2D的特点 / 2
         1.1.2 Cocos2D的主要功能 / 3
         1.1.3 Cocos2D的应用 / 5
         1.2 什么是Cocos2D-X / 6
         1.2.1 Cocos2D-X的特点 / 6
         1.2.2 Cocos2D-X的主要功能 / 6
         1.2.3 “百花齐放”的辅助工具链 / 7
         1.2.4 Cocos2D-X主导的3.0时代 / 8
         1.2.5 Cocos2D-X的应用 / 9
         1.3 Cocos2D-X与Cocos2D-iPhone的比较 / 10
         1.4 本章小结 / 12
         第2章 搭建跨平台的开发环境 / 13
         2.1 Cocos2D-X的安装和配置 / 13
         2.1.1 Cocos2D-X的运行编译环境 / 13
         2.1.2 需要安装或配置的工具 / 14
         2.2 Cocos2D-X代码集成调试工具Cocos Code IDE / 15
         2.2.1 安装和配置 / 15
         2.2.2 在Cocos Code IDE中调试代码 / 15
         2.3 搭建Windows开发环境 / 19
         2.4 搭建Android开发环境 / 20
         2.4.1 编译和运行 / 21
         2.4.2 Cocos2D-X的工程目录介绍 / 25
         2.5 搭建iOS开发环境 / 27
         2.6 Cocos2D-X调试 / 28
         2.6.1 Visual Studio的调试方法 / 28
         2.6.2 Eclipse的调试方法 / 28
         2.6.3 Xcode的调试方法 / 31
         2.7 多语言混编Cocos2D-X / 35
         2.7.1 在Cocos2D-X中调用Objective-C / 35
         2.7.2 在Cocos2D-X中调用Java / 36
         2.8 使用doxygen获得Cocos2D-X的最新文档 / 37
         2.9 启动文件和适配 / 39
         2.10 本章小结 / 41
         第3章 Cocos2D-X中的核心类 / 42
         3.1 坐标系简介 / 43
         3.1.1 OpenGL坐标系 / 43
         3.1.2 世界坐标系 / 43
         3.1.3 节点坐标系 / 44
         3.1.4 仿射变换 / 44
         3.2 Cocos2D-X渲染 / 45
         3.2.1 渲染树 / 45
         3.2.2 渲染原理 / 45
         3.3 节点类 / 46
         3.3.1 Node类的成员数据 / 47
         3.3.2 Node类的函数 / 48
         3.3.3 实战:通过节点控制屏幕中的全体渲染对象 / 51
         3.4 导演类 / 54
         3.4.1 Director类的成员数据 / 54
         3.4.2 Director类的函数 / 54
         3.4.3 实战:Director类的使用 / 56
         3.5 场景类 / 57
         3.5.1 如何新建一个场景 / 58
         3.5.2 场景的切换 / 59
         3.5.3 场景间切换的动画 / 61
         3.6 布景层类 / 63
         3.6.1 Layer类的函数 / 64
         3.6.2 颜色布景层类LayerColor / 65
         3.6.3 菜单类Menu / 68
         3.7 图形绘制类 / 70
         3.8 时间调度的使用 / 73
         3.9 Ref类和内存管理 / 73
         3.10 本章小结 / 74
         第4章 Cocos2D-X中的图片渲染类 / 75
         4.1 精灵类 / 75
         4.1.1 Sprite类的成员及函数 / 75
         4.1.2 贴图类Texture2D / 77
         4.1.3 精灵批处理类SpriteBatchNode / 77
         4.1.4 精灵帧类SpriteFrame / 79
         4.1.5 精灵帧缓存类SpriteFrameCache / 80
         4.1.6 九宫格精灵Scale9Sprite / 80
         4.1.7 实战:精灵类及其相关类的使用 / 81
         4.2 裁剪节点类 / 88
         4.3 图片异步加载 / 91
         4.4 Cocos2D-X中如何节约图片空间 / 92
         4.4.1 图片打包器TexturePacker / 92
         4.4.2 通过优化降低游戏尺寸的方法 / 95
         4.5 本章小结 / 96
         第5章 Cocos2D-X中的动作、特效与动画 / 97
         5.1 动作类 / 97
         5.1.1 Action类的主要成员数据和函数 / 97
         5.1.2 基本动作 / 98
         5.1.3 摄像机动作类 / 108
         5.1.4 基本样条动作 / 110
         5.1.5 缓冲动作 / 114
         5.1.6 组合动作 / 117
         5.1.7 跟随动作 / 118
         5.1.8 可调整速度动作 / 119
         5.1.9 动作延时 / 120
         5.1.10 改变动作执行对象 / 121
         5.1.11 函数回调动作 / 121
         5.1.12 过程动作 / 123
         5.2 动作管理类 / 125
         5.2.1 动作管理类的主要函数 / 126
         5.2.2 动作管理类的使用 / 126
         5.3 Cocos2D-X中的网格动作 / 127
         5.3.1 Cocos2D-X中的网格 / 127
         5.3.2 网格动作 / 127
         5.3.3 清除网格 / 129
         5.4 Cocos2D-X中的动画 / 130
         5.4.1 Cocos2D-X中与动画相关的类 / 130
         5.4.2 Cocos2D-X中的动画实例 / 131
         5.4.3 使用plist配置文件实现动画 / 133
         5.4.4 Flash动画的转换 / 135
         5.5 本章小结 / 137
         第6章 Cocos2D-X中的菜单项和文本渲染系统 / 138
         6.1 菜单项 / 138
         6.1.1 标签菜单项 / 138
         6.1.2 精灵菜单项 / 139
         6.1.3 触发器菜单项 / 140
         6.1.4 菜单项的使用 / 140
         6.2 文本渲染系统 / 141
         6.2.1 LableAtlas类 / 142
         6.2.2 LabelTTF类 / 143
         6.2.3 LabelBMFont类 / 147
         6.2.4 Label标签类 / 151
         6.2.5 FreeType字体库 / 152
         6.2.6 富文本类RichText / 153
         6.3 本章小结 / 154
         第7章 Cocos2D-X中的事件处理机制和UI控件 / 155
         7.1 Cocos2D-X中的事件处理机制 / 155
         7.2 Cocos2D-X中的触屏事件 / 156
         7.2.1 触点类Touch / 156
         7.2.2 单点触摸函数 / 157
         7.2.3 多点触摸函数 / 157
         7.2.4 加入单点触摸 / 158
         7.2.5 加入多点触摸 / 159
         7.2.6 实战:主角随手指移动 / 161
         7.2.7 实战:缩放 / 164
         7.3 Cocos2D-X中的加速度传感器事件 / 165
         7.3.1 Acceleration结构体 / 165
         7.3.2 实战:加速度传感器事件的使用 / 166
         7.4 Cocos2D-X中的按键事件 / 167
         7.5 UI控件 / 168
         7.5.1 按钮控件 / 169
         7.5.2 选择框 / 170
         7.5.3 滚动列表 / 171
         7.5.4 输入框 / 172
         7.6 本章小结 / 172
         第8章 Cocos2D-X中的瓦片地图集 / 173
         8.1 瓦片地图集及编辑器简介 / 173
         8.1.1 瓦片地图的种类及用途 / 173
         8.1.2 地图编辑器Tiled / 174
         8.1.3 用Tiled编辑地图 / 175
         8.1.4 设置地形 / 179
         8.1.5 添加对象层 / 180
         8.2 Cocos2D-X中和Tiled相关的类 / 181
         8.2.1 Tiled数据文件 / 181
         8.2.2 瓦片地图集类TMXTiledMap / 182
         8.2.3 地图层类TMXLayer / 183
         8.2.4 地图精灵组类TMXObjectGroup / 184
         8.3 Cocos2D-X中使用地图和地图相关类 / 184
         8.3.1 新建地图类并在地图中显示 / 184
         8.3.2 普通视角地图获得对应位置图素 / 185
         8.3.3 45度角地图获得对应位置图素 / 187
         8.3.4 GID值的使用 / 188
         8.3.5 地图块属性的获得 / 189
         8.3.6 在地图中加入精灵 / 190
         8.3.7 精灵层的操作 / 192
         8.4 本章小结 / 193
         第9章 Cocos2D-X中的声音、存储和网络 / 194
         9.1 Cocos2D-X中的声音 / 194
         9.1.1 Cocos2D-X在不同平台下支持的声音 / 194
         9.1.2 SimpleAudioEngine类的常用函数 / 195
         9.1.3 实战:SimpleAudioEngine类的使用 / 196
         9.2 Cocos2D-X中的游戏存档 / 197
         9.2.1 UserDefault类的常用函数 / 197
         9.2.2 实战:UserDefault类的使用 / 198
         9.3 Cocos2D-X中的网络连接 / 200
         9.3.1 cURL基础知识 / 200
         9.3.2 HttpClient类 / 203
         9.3.3 Socket类 / 204
         9.4 本章小结 / 205
         第10章 Cocos2D-X中的物理引擎 / 206
         10.1 物理引擎 / 206
         10.1.1 物理引擎简介 / 206
         10.1.2 物理引擎的作用 / 206
         10.1.3 认识Box2D和Chipmunk / 207
         10.2 Cocos2D-X中的Box2D / 207
         10.2.1 Box2D中的重要概念 / 207
         10.2.2 Box2D的使用步骤 / 208
         10.3 Cocos2D-X中的Chipmunk / 213
         10.4 物理精灵类PhysicsSprite / 215
         10.5 本章小结 / 216
         第二部分 高级篇
         第11章 Cocos2D-X中的脚本语言——Lua / 218
         11.1 Lua基本介绍 / 218
         11.1.1 Lua的变量及内置类型 / 219
         11.1.2 Lua的操作符和控制结构 / 221
         11.1.3 Lua中的全局函数 / 222
         11.1.4 在Lua中实现面向对象 / 223
         11.2 Lua与Cocos2D-X的结合 / 225
         11.2.1 C++调用Lua / 225
         11.2.2 Lua调用C++ / 226
         11.3 Cocos2D-X的Lua相关框架 / 230
         11.4 本章小结 / 231
         第12章 Cocos2D-X中的脚本语言——JavaScript / 232
         12.1 认识HTML5 / 232
         12.2 JavaScript基本介绍 / 233
         12.2.1 JavaScript的变量和内置类型 / 234
         12.2.2 JavaScript的操作符和控制结构 / 236
         12.2.3 在JavaScript中实现面向对象 / 237
         12.3 搭建HTML5开发环境 / 238
         12.4 Cocos2D-JS的HTML5运行原理 / 240
         12.5 JavaScript与Cocos2D-X的结合 / 244
         12.5.1 C++调用JavaScript / 245
         12.5.2 JavaScript调用C++ / 246
         12.6 本章小结 / 248
         第13章 游戏中常用算法在Cocos2D-X中的实现 / 249
         13.1 A星算法 / 249
         13.1.1 启发式搜索算法原理 / 249
         13.1.2 什么是A星搜索 / 250
         13.1.3 A星算法在Cocos2D-X中的实现 / 251
         13.2 碰撞检测算法 / 263
         13.2.1 碰撞检测的基本思想 / 264
         13.2.2 碰撞检测在Cocos2D-X中的实现 / 265
         13.3 本章小结 / 271
         第14章 粒子系统 / 272
         14.1 什么是粒子系统 / 272
         14.1.1 粒子系统的特点 / 273
         14.1.2 粒子系统的构成 / 273
         14.2 Cocos2D-X中的粒子系统 / 273
         14.2.1 粒子批处理类ParticleBatchNode / 274
         14.2.2 粒子系统基类ParticleSystem / 275
         14.2.3 粒子系统子类ParticleSystemQuad / 276
         14.2.4 ParticleSystem中的属性介绍 / 278
         14.3 在Cocos2D-X中使用粒子系统 / 279
         14.3.1 新建一个粒子系统ParticleSystemQuad类 / 279
         14.3.2 直接使用ParticleSystemQuad类的子类 / 281
         14.3.3 使用粒子编辑器创建粒子系统 / 282
         14.3.4 “清理”粒子系统 / 283
         14.4 支持Cocos2D-X的粒子编辑器 / 283
         14.4.1 Windows粒子编辑器Cocos2d Particle Editor / 283
         14.4.2 粒子编辑器Particle Designer / 287
         14.4.3 粒子编辑器V-Play / 293
         14.5 实战:使用编辑器设计下雨效果 / 294
         14.6 本章小结 / 296
         第15章 Cocos2D-X中的着色器 / 297
         15.1 什么是着色器语言 / 297
         15.2 着色器语言概览 / 297
         15.2.1 着色器语言的特点 / 298
         15.2.2 使用着色器可以为我们带来什么 / 300
         15.2.3 如何学习着色器语言 / 301
         15.3 在Cocos2D-X中使用shader / 303
         15.3.1 shader程序的编译执行流程 / 303
         15.3.2 shader执行者GLProgram类 / 303
         15.3.3 shader管理者ShaderCache类 / 304
         15.3.4 在Cocos2D-X中创建并使用shader / 305
         15.4 实战:图片灰化 / 306
         15.5 本章小结 / 308
         第16章 Cocos2D-X相关的编辑器 / 309
         16.1 CocosBuilder简介 / 309
         16.1.1 CocosBuilder菜单操作 / 309
         16.1.2 对象属性编辑 / 313
         16.1.3 CocosBuilder在Cocos2D-X中常用的相关类 / 318
         16.1.4 实战:CocosBuilder应用 / 319
         16.2 CocoStudio简介 / 325
         16.2.1 数据编辑器 / 326
         16.2.2 场景编辑器 / 327
         16.2.3 界面编辑器 / 329
         16.2.4 动画编辑器 / 331
         16.3 本章小结 / 332
         第三部分 实战篇
         第17章 纵版射击游戏:喵星战争 / 334
         17.1 纵版射击游戏的特点 / 334
         17.2 喵星战争简介 / 334
         17.3 主游戏模块组成元素的实现 / 336
         17.3.1 主角小猫的实现 / 336
         17.3.2 敌人狗博士的实现 / 340
         17.3.3 鱼骨子弹的实现 / 343
         17.3.4 试管子弹的实现 / 345
         17.3.5 游戏分数的实现 / 345
         17.4 喵星战争的实现 / 347
         17.4.1 游戏主模块的实现 / 347
         17.4.2 游戏主菜单的实现 / 352
         17.4.3 关于界面实现 / 355
         17.5 本章小结 / 357
         第18章 横版动作游戏:萝莉快跑 / 358
         18.1 横版动作游戏的特点 / 358
         18.2 萝莉快跑简介 / 359
         18.3 主游戏模块组成元素的实现 / 361
         18.3.1 主角萝莉的实现 / 361
         18.3.2 星星的实现 / 366
         18.3.3 地图的实现 / 367
         18.4 萝莉快跑的实现 / 373
         18.4.1 游戏主模块的实现 / 373
         18.4.2 游戏主菜单的实现 / 376
         18.4.3 关于界面的实现 / 378
         18.5 本章小结 / 379
         第19章 物理体育游戏:迷你世界杯 / 380
         19.1 物理游戏的特点 / 380
         19.2 迷你世界杯简介 / 380
         19.3 迷你世界杯的实现 / 384
         19.3.1 主角的实现 / 384
         19.3.2 游戏主模块的实现 / 387
         19.3.3 游戏主菜单的实现 / 393
         19.3.4 关于界面的实现 / 396
         19.4 本章小结 / 397
         第20章 消除游戏:天天消豆豆 / 398
         20.1 消除游戏的特点 / 398
         20.2 天天消豆豆简介 / 398
         20.3 天天消豆豆的实现 / 399
         20.3.1 Lua游戏框架实现 / 399
         20.3.2 开始界面模块的实现 / 402
         20.3.3 游戏主逻辑的实现 / 405
         20.4 本章小结 / 415
         附录 Cocos2D-X中常见的宏 / 416
      · · · · · ·     (
收起)