第一部分 快速上手 2
第1章 搭建Cocos2D-X开发环境 2
1.1 引擎简介 3
1.1.1 选择Cocos2D-X的理由 3
1.1.2 Cocos2D-X 3.x版本与先前版本的不同 3
1.2 搭建开发环境 4
1.2.1 安装开发环境 4
1.2.2 安装CocoStudio 5
1.3 创建项目 6
1.3.1 安装Python 7
1.3.2 创建新项目 7
1.3.3 目录结构 9
1.4 小结 10
第2章 钢琴师(上) 11
2.1 解析Cocos2D-X 12
2.1.1 元素 12
2.1.2 层 14
2.1.3 场景 14
2.1.4 导演 15
2.1.5 组合 15
2.2 使用UI编辑器 15
2.2.1 创建UI工程 16
2.2.2 创建元素 17
2.2.3 导出 20
2.3 载入到程序 20
2.3.1 创建加载环境 21
2.3.2 加载导出文件 23
2.4 完善功能 24
2.4.1 点击响应 25
2.4.2 补齐整套琴键 27
2.5 安装到手机中 29
2.5.1 安装Java环境 30
2.5.2 配置Cocos2D-X编译环境 31
2.5.3 编译项目 32
2.6 小结 33
第3章 钢琴师(下) 34
3.1 粒子效果 35
3.1.1 粒子效果原理 35
3.1.2 粒子编辑器 36
3.1.3 加载到程序中 38
3.2 动作 38
3.2.1 重要示例 39
3.2.2 学习方式 39
3.2.3 实际使用 41
3.3 文字 42
3.3.1 编辑自定义字体 42
3.3.2 在CocoStudio中使用字体 44
3.4 输入信息 45
3.4.1 编辑输入区域 45
3.4.2 添加输入设置 46
3.4.3 信息存储 47
3.5 小结 48
第二部分 开发实战 50
第4章 飞机空战(上) 50
4.1 飞机起飞 51
4.1.1 动画编辑器 52
4.1.2 载入到程序中 53
4.1.3 制作敌人飞机 55
4.1.4 调整模拟器 56
4.2 飞机移动 57
4.2.1 点击调度结构 57
4.2.2 主角的移动 58
4.2.3 敌人飞机的移动 59
4.3 发射子弹 62
4.3.1 发出子弹 63
4.3.2 创建多个敌人 66
4.3.3 滚动背景 67
4.4 添加物理系统 68
4.4.1 更改World配置 69
4.4.2 添加Body 70
4.4.3 碰撞处理 74
4.5 重新开始游戏 75
4.5.1 制作对话框 75
4.5.2 载入对话框 77
4.5.3 重构开始游戏 78
4.6 小结 82
第5章 飞机空战(下) 83
5.1 欢迎界面 84
5.1.1 编辑UI 85
5.1.2 流程控制 85
5.2 游戏计分 88
5.2.1 制作界面 88
5.2.2 关联程序变量 90
5.2.3 添加血量 90
5.2.4 添加得分 93
5.3 结果界面 93
5.3.1 编辑界面 94
5.3.2 加载显示 95
5.3.3 存储记录 98
5.4 最高分界面 99
5.4.1 编辑界面 100
5.4.2 加载实现 100
5.5 小结 102
第6章 打砖块 103
6.1 搭建物理世界 104
6.1.1 设置世界特性 104
6.1.2 回弹的小球 106
6.1.3 创建挡板 107
6.1.4 移动挡板 108
6.2 设计关卡 109
6.2.1 使用场景编辑器 109
6.2.2 加载场景 112
6.2.3 适配场景 113
6.3 碰撞处理 114
6.3.1 定义Body类型 115
6.3.2 绑定编辑模型 116
6.3.3 碰撞响应 117
6.4 多个关卡 118
6.4.1 编辑欢迎界面 119
6.4.2 创建新关卡 120
6.4.3 载入程序 120
6.4.4 关卡预览 122
6.5 完善流程 125
6.5.1 编辑结果框 125
6.5.2 添加获胜逻辑 127
6.5.3 添加失败处理 128
6.5.4 梳理流程 129
6.6 小结 132
第7章 塔防(上) 133
7.1 瓦片地图 134
7.1.1 概念介绍 134
7.1.2 编辑器 136
7.1.3 创建工程 137
7.1.4 编辑场景 138
7.1.5 加载到程序 139
7.2 标记路径 142
7.2.1 创建对象层 142
7.2.2 加载移动 143
7.2.3 移动怪物 144
7.3 面向组件编程 145
7.3.1 Cocos2D-X对组件的支持 145
7.3.2 制作组件 146
7.3.3 初始化数据 148
7.3.4 调用移动 149
7.3.5 挂载到节点 149
7.4 防御塔 151
7.4.1 制作标记层 151
7.4.2 创建点击 153
7.4.3 读取属性 153
7.4.4 创建塔 155
7.5 制作碰撞组件 156
7.5.1 整体设计 157
7.5.2 编辑炮弹组件 157
7.5.3 防御塔组件 160
7.5.4 血量组件 162
7.6 碰撞模块 165
7.6.1 编写模块 165
7.6.2 调用模块 168
7.7 小结 171
第8章 塔防(下) 172
8.1 细化怪物 173
8.1.1 骨骼动画 173
8.1.2 编辑动画 174
8.1.3 载入程序 176
8.2 分数控制 177
8.2.1 制作HUD 178
8.2.2 波数显示 179
8.2.3 金币数 180
8.2.4 血量 182
8.3 流程控制 184
8.3.1 场景与层 185
8.3.2 欢迎场景 186
8.3.3 多关卡 190
8.4 结果菜单 190
8.4.1 制作九宫格菜单 191
8.4.2 挂载程序 191
8.5 小结 196
第三部分 拓展知识 198
第9章 Cocos2D-X特性总结 198
9.1 基本类与宏 198
9.1.1 Node继承体系 198
9.1.2 常用宏 199
9.2 C++11新特性 201
9.2.1 auto 201
9.2.2 Lambda函数 202
9.2.3 std∷function类型 203
9.3 内存管理 206
9.4 Cocos2D-X 3.x绘制优化 209
9.4.1 自动批次渲染 209
9.4.2 绘制剔除 212
9.5 小结 213
第10章 Android平台的SDK接入 215
10.1 搭建测试环境 216
10.1.1 创建Cocos2D-X项目 216
10.1.2 更改Android项目配置 218
10.2 Android环境配置 222
10.2.1 Eclipse配置项目关联 222
10.2.2 创建主Activity 224
10.3 C++调用SDK功能 225
10.3.1 添加C++调用 225
10.3.2 添加Java实现函数 227
10.4 Java调用C++ 228
10.4.1 定义回调接口 228
10.4.2 实现处理逻辑 230
10.5 小结 232
第11章 App Store支付接入 233
11.1 新建应用 233
11.2 生成授权 236
11.2.1 授权设备 237
11.2.2 生成授权文件 238
11.2.3 运行项目 240
11.3 创建商品 242
11.4 接入程序 246
11.5 测试支付 252
11.5.1 创建测试账号 252
11.5.2 真机测试 254
11.6 小结 254
第12章 微信社交分享 255
12.1 开发环境搭建 255
12.1.1 创建工程 255
12.1.2 引入包 257
12.1.3 创建主Activity 257
12.2 发送信息到微信 259
12.2.1 C++部分调用 259
12.2.2 Java部分调用 260
12.2.3 申请包签名 261
12.3 小结 261