基础篇 3
第1章 欢迎来到游戏世界 3
1.1 游戏的前世今生 3
1.2 游戏的玩法与分类 4
1.2.1 MMORPG类游戏 4
1.2.2 FPS类游戏 5
1.2.3 ARPG类游戏 7
1.2.4 卡牌类游戏 8
1.2.5 RTS类游戏 9
1.2.6 消除类游戏 11
1.2.7 MOBA类游戏 11
1.2.8 塔防类游戏 12
1.2.9 跑酷类游戏 13
1.2.10 数字类游戏 14
1.3 游戏团队的职责与分工 15
1.4 游戏的从无到有 16
1.5 小结 18
第2章 奇妙的Cocos2d-JS之旅 19
2.1 Cocos的前世今生 19
2.2 Cocos2d引擎家族 20
2.3 Cocos2d-JS的介绍 21
2.3.1 官方定义 21
2.3.2 引擎架构 22
2.3.3 引擎目录 22
2.4 开发环境的搭建 23
2.4.1 安装Python 23
2.4.2 Cocos Console 24
2.4.3 安装WebStorm 24
2.4.4 配置Android环境 26
2.4.5 Cocos Creator的安装 27
2.5 Hello Cocos2d-JS 29
2.5.1 创建工程 29
2.5.2 项目目录 30
2.5.3 调试运行 32
2.5.4 各平台打包及部署 35
2.6 官方Demo 39
2.7 小结 42
进阶篇 45
第3章 Cocos核心概念 45
3.1 导演、场景、精灵和图层 45
3.2 实现菜单 48
3.2.1 实现文字菜单 49
3.2.2 实现精灵菜单 52
3.2.3 实现开关菜单 55
3.3 自定义场景 57
3.3.1 创建场景脚本文件 57
3.3.2 添加图层到场景 58
3.3.3 添加精灵到图层 58
3.3.4 修改main.js入口场景 59
3.3.5 添加JS文件到project.json 60
3.4 多场景切换 61
3.4.1 导演的作用 62
3.4.2 Director的常用方法 62
3.4.3 场景切换Demo 63
3.5 场景切换特效 67
3.6 小结 73
第4章 Cocos引擎节点 74
4.1 锚点和坐标 74
4.2 父子关系 77
4.3 缩放和旋转 80
4.4 计划任务 82
4.5 电子时钟的实现 84
4.5.1 功能分析 84
4.5.2 底层格子的绘制和时间的定时刷新 85
4.5.3 绘制数字 87
4.5.4 绘制数字底色 91
4.6 动作与组合动作 92
4.7 生命周期 95
4.8 事件处理 95
4.8.1 创建单点事件监听处理 95
4.8.2 创建事件监听的快捷方式 98
4.8.3 键盘响应事件 98
4.8.4 加速计事件 99
4.8.5 鼠标响应事件 99
4.8.6 自定义事件 100
4.8.7 事件监听器的其他操作 101
4.9 打地鼠 101
4.9.1 玩法分析 102
4.9.2 结构设计 102
4.9.3 代码实现 102
4.10 绘制节点 110
4.10.1 绘图API 110
4.10.2 绘制复杂图形 111
4.11 小结 113
第5章 Cocos资源处理 114
5.1 纹理缓存 114
5.2 图片的异步加载 118
5.3 帧动画处理 121
5.4 切图帧动画 124
5.5 纹理打包文件的加载 129
5.5.1 打包纹理文件 129
5.5.2 加载打包文件 131
5.6 粒子动画 133
5.6.1 系统粒子动画 133
5.6.2 自定义粒子动画 134
5.6.3 使用粒子动画 134
5.7 音乐和音效 137
5.8 小结 138
第6章 Chipmunk物理引擎 139
6.1 基本概念 139
6.2 引入Chipmunk引擎 140
6.3 创建物理世界 141
6.3.1 创建Space空间 141
6.3.2 设置debug模式 141
6.3.3 设置重力 141
6.3.4 划分空间边界 141
6.4 创建物理对象 142
6.4.1 创建刚体 142
6.4.2 设置body属性 142
6.4.3 创建并绑定形状 143
6.4.4 创建物理精灵对象 144
6.5 物理世界的刷新 144
6.6 碰撞检测 145
6.7 运行物理世界 146
6.8 小结 148
第7章 Cocos网络编程 149
7.1 网络通信协议 150
7.1.1 TCP协议 151
7.1.2 UDP协议 152
7.1.3 TCP与UDP的比较 152
7.2 NodeJS服务器环境的搭建 152
7.2.1 NodeJS简介 152
7.2.2 安装NodeJS 153
7.2.3 Express框架 154
7.3 HTTP通信 158
7.3.1 HTTP协议位置 158
7.3.2 请求响应模型 159
7.3.3 HTTP客户端 159
7.3.4 HTTP服务端 166
7.4 WebSocket通信 170
7.4.1 WebSoeket出现之前的实时通信方式 170
7.4.2 WebSocket原理 171
7.4.3 WebSocket客户端 171
7.4.4 WebSocket服务端 176
7.5 小结 179
实战篇 183
第8章 聊天室 183
8.1 功能模块 183
8.2 时序图 184
8.3 功能设计 185
8.4 客户端 185
8.4.1 分层架构 185
8.4.2 类图设计 187
8.4.3 登录场景的实现 188
8.4.4 聊天场景的实现 191
8.4.5 网络处理的实现 197
8.4.6 相关工具类 202
8.5 服务端 207
8.5.1 分层架构 207
8.5.2 类图设计 209
8.5.3 网络处理 210
8.5.4 逻辑处理 213
8.5.5 内存管理 217
8.6 前后端通信 219
8.7 小结 221
第9章 贪吃蛇 222
9.1 游戏玩法 222
9.2 游戏分析 223
9.2.1 身体关节 223
9.2.2 移动方向 224
9.3 游戏开发 224
9.3.1 项目构建 224
9.3.2 开始/结束场景 226
9.3.3 游戏场景 228
9.3.4 关节节点 233
9.3.5 相关工具类 237
9.4 运行效果 240
9.5 小结 240
第10章 2048 241
10.1 游戏玩法 242
10.2 游戏分析 242
10.3 游戏开发 243
10.3.1 项目构建 243
10.3.2 开始/结束场景 244
10.3.3 游戏场景 246
10.3.4 滑动方块 254
10.3.5 相关工具类 257
10.4 运行效果 260
10.5 小结 260
第11章 飞机大战 261
11.1 游戏玩法 261
11.2 游戏分析 262
11.3 游戏开发 263
11.3.1 项目构建 263
11.3.2 场景与状态机 265
11.3.3 游戏场景 270
11.3.4 游戏背景 277
11.3.5 子弹类 279
11.3.6 玩家类 280
11.3.7 敌机类 284
11.3.8 道具类 288
11.3.9 加载动画 289
11.3.10 全局管理 290
11.4 运行效果 292
11.5 小结 293