第1章 简介 1
1.1 介绍 2
1.1.1 历史 2
1.1.2 使用现状 2
1.1.3 特征 4
1.1.4 与Unity引擎之比较 5
1.2 构建开发环境 7
1.3 创建新项目 8
1.3.1 安装Python 9
1.3.2 执行脚本文件创建项目 11
1.3.3 运行项目 12
1.4 创建基本项目 16
1.4.1 修改画面大小 18
1.4.2 删除日志 19
1.4.3 删除资源 19
1.5 小结 19
第2章 基本功能 20
2.1 坐标系与锚点 21
2.1.1 坐标系 21
2.1.2 锚点 22
2.2 输出图像 24
2.2.1 使用“精灵” 24
2.2.2 Cocos2d-x的基本数据类型 30
2.2.3 Cocos2d-x的基本方法 31
2.2.4 使用“精灵”组成画面 32
2.3 输出文本 35
2.3.1 SystemFont 35
2.3.2 TTF 39
2.3.3 BMFont 40
2.3.4 CharMap 42
2.3.5 其他方法 43
2.3.6 使用多种标签 46
2.4 创建菜单按钮 47
2.4.1 菜单项 48
2.4.2 设置菜单位置 56
2.5 Hello World 56
2.5.1 菜单 57
2.5.2 标签 58
2.5.3 “精灵” 58
2.6 小结 58
第3章 多种动作功能 59
3.1 动作功能 60
3.1.1 不使用动作功能移动图像 60
3.1.2 使用动作功能移动图像 60
3.1.3 By与To的区别 61
3.2 基本动作 61
3.2.1 位置 62
3.2.2 缩放 66
3.2.3 旋转 67
3.2.4 画面显示 68
3.2.5 透明度 71
3.2.6 颜色 74
3.3 复合动作 75
3.3.1 序列动作 75
3.3.2 并列动作 76
3.3.3 逆动作 77
3.3.4 延时动作 78
3.3.5 重复、无限重复动作 79
3.3.6 变速动作 80
3.3.7 CallFunction动作 88
3.4 小结 94
第4章 游戏画面切换 95
4.1 创建新画面 96
4.2 画面切换 98
4.2.1 replacescene 98
4.2.2 pushScene、popScene 101
4.3 设置画面切换效果 103
4.3.1 画面切换效果类型 103
4.3.2 应用画面切换效果 105
4.4 添加新层 105
4.5 小结 107
第5章 触摸事件与碰撞检测 108
5.1 触摸事件 109
5.1.1 单点触摸事件 109
5.1.2 多点触摸事件 112
5.1.3 在iOS中设置多点触摸 115
5.2 实现碰撞检测 116
5.2.1 containsPoint 116
5.2.2 intersectsRect 117
5.3 应用触摸事件与碰撞检测 117
5.4 小结 120
第6章 游戏制作实战1:卡牌游戏 121
6.1 游戏结构 122
6.1.1 菜单画面 122
6.1.2 游戏画面 123
6.1.3 添加资源 123
6.2 实现竖版画面 124
6.3 实现菜单画面 125
6.4 实现游戏画面 130
6.4.1 初始化游戏数据 131
6.4.2 游戏画面构成 133
6.4.3 开始游戏 138
6.4.4 显示扑克牌 141
6.4.5 触摸事件 142
6.4.6 选择扑克牌 144
6.4.7 游戏结束 146
6.4.8 游戏结束显示菜单 149
6.5 小结 151
第7章 动画与定时器 152
7.1 瓦片图 153
7.1.1 制作瓦片图 153
7.1.2 使用瓦片图 154
7.2 动画 156
7.2.1 使用图像文件实现动画 156
7.2.2 使用Sprite Frame实现动画 159
7.3 使用定时器 160
7.4 小结 164
第8章 背景图像滚动 165
8.1 单一图像背景滚动 166
8.2 多重图像背景滚动实现 169
8.3 使用ParallaxNode类实现背景滚动 170
8.4 使用瓦片图实现背景滚动 172
8.5 小结 174
第9章 游戏制作实战2:横版游戏 175
9.1 游戏结构 176
9.2 实现背景滚动 176
9.3 实现角色动画 178
9.4 通过触摸事件实现角色跳跃 181
9.5 障碍物的生成与移动 185
9.6 障碍物与角色人物的碰撞检测 187
9.7 小结 190
第10章 游戏数据管理 191
10.1 “消除笑脸”游戏 192
10.2 管理多个数据 195
10.3 使用UserDefault保存数据 200
10.3.1 将数据保存到UserDefault 200
10.3.2 从UserDefault读取数据 201
10.4 显示最高分 201
10.5 小结 204
第11章 多种效果 205
11.1 粒子系统 206
11.1.1 内置粒子效果 206
11.1.2 创建粒子效果 207
11.2 音频输出 211
11.2.1 播放背景音乐 211
11.2.2 背景音乐相关方法 212
11.2.3 播放音效 212
11.2.4 音效相关方法 213
11.2.5 其他音频相关方法 213
11.3 小结 214
第12章 游戏制作实战3:射击游戏 215
12.1 游戏结构 216
12.1.1 更改类名 216
12.1.2 添加资源 217
12.1.3 更改方向 217
12.2 背景结构及实现滚动 217
12.3 创建玩家飞机 219
12.4 使用触摸事件控制玩家飞机 222
12.5 随机生成“能量球” 225
12.6 导弹增强 227
12.7 创建敌机 236
12.8 导弹与敌机的碰撞检测 239
12.9 向敌机添加爆炸效果 243
12.10 制作Boss机 245
12.11 记录分数 248
12.12 小结 255
第13章 GUI结构 256
13.1 滚动视图 257
13.1.1 实现滚动视图 257
13.1.2 设置滚动视图 262
13.2 九宫格“精灵” 263
13.3 编辑框 267
13.3.1 编辑框设置 268
13.3.2 委托 271
13.4 小结 273
第14章 网络实现 274
14.1 使用HttpClient类 275
14.2 使用JSON通信 278
14.3 显示网络图片 282
14.4 保存网络文件 284
14.5 小结 286
第15章 Android移植与画面大小调整 287
15.1 搭建Android移植环境 288
15.1.1 搭建Android开发环境 288
15.1.2 安装NDK 293
15.1.3 安装ANT 293
15.1.4 设置Cocos2d-x环境 294
15.2 Android编译 295
15.3 Android编译设置 297
15.4 运行Android项目 299
15.5 在Eclipse中运行 301
15.6 应对多种画面大小 303
15.7 小结 305
第16章 发布 306
16.1 发布到Google Play Store 307
16.1.1 创建Google ID 307
16.1.2 注册Play Store开发者账号 307
16.1.3 导出应用程序包 308
16.1.4 发布到Play Store 311
16.2 发布到AppStore 314
16.2.1 注册开发者程序 314
16.2.2 创建证书与ProvisioningProfiles 318
16.2.3 提交应用 324
16.2.4 上传应用发布包 330
16.3 小结 336
索引 337