第1章 初识CocoS2d-X 1
1.1 Cocos2d-x的概述 1
1.1.1 Cocos2d-x的发展史 1
1.1.2 Cocos2d-x的市场优势 2
1.2 Cocos2d-x开发环境的搭建 2
1.2.1 Eclipse的下载与配置 2
1.2.2 Android SDK的下载与配置 6
1.2.3 AndroidNDK的下载与配置 8
1.2.4 Cocos2d-x的下载与配置 10
1.3 初识Cocos2d-x应用程序 11
1.3.1 简单案例HelloCocos2dX的导入与运行 11
1.3.2 Cocos2d案例导入后的相关修改 14
1.3.3 创建自己的项目 14
1.4 本章小结 17
1.5 习题 18
第2章 Cocos2d-x基础 19
2.1 Cocos2d-x中一些重要的基本概念 19
2.1.1 几个重要的基本概念 19
2.1.2 导演类 20
2.1.3 节点类 21
2.1.4 两个辅助类Vec2和Size 29
2.1.5 场景类 31
2.1.6 布景类 31
2.2 精灵类 32
2.2.1 基础知识 33
2.2.2 案例运行效果 33
2.2.3 开发过程 34
2.3 Cocos2d-x中的基本控件 39
2.3.1 基础知识 39
2.3.2 案例运行效果 45
2.3.3 开发过程 45
2.4 时间间隔系列动作的使用 51
2.4.1 基础知识 51
2.4.2 案例运行效果 52
2.4.3 开发过程 53
2.5 持续时间系列动作的使用 58
2.5.1 基础知识 58
2.5.2 案例运行效果 58
2.5.3 开发过程 59
2.6 Scale9精灵 60
2.6.1 基础知识 60
2.6.2 案例运行效果 62
2.6.3 开发过程 63
2.7 本章小结 65
2.8 习题 65
第3章 动作特效与场景切换特效 66
3.1 基础动作特效 66
3.1.1 背景知识 66
3.1.2 爆炸特效 66
3.1.3 瓦片消失特效 67
3.1.4 切开行、列特效 67
3.1.5 淡出特效 68
3.1.6 可扭曲波浪、旋转扭曲特效 69
3.1.7 案例开发过程 69
3.2 3D动作特效 74
3.2.1 背景知识 74
3.2.2 3D振动、3D瓦片振动、3D瓦片碎裂、3D瓦片跳跃、3D瓦片波浪特效 75
3.2.3 流体、3D波浪、3D鱼眼、3D水波涟漪特效 75
3.2.4 3D绕轴旋转及3D翻页特效 76
3.2.5 案例开发过程 77
3.3 百分比动作特效 80
3.3.1 基础知识 80
3.3.2 半径模式、水平模式、垂直模式特效案例运行效果 81
3.3.3 案例开发过程 82
3.4 常用场景切换特效——TransitionScene类 84
3.4.1 基础知识 84
3.4.2 运行效果 85
3.4.3 案例开发过程 85
3.5 支持简单动作的场景切换特效—— TransitionEaseScene类 87
3.5.1 基础知识 87
3.5.2 运行效果 87
3.5.3 案例开发过程 88
3.6 支持方向的场景切换特效——TransitionSceneOriented类 89
3.6.1 基础知识 90
3.6.2 运行效果 90
3.6.3 案例开发过程 90
3.7 过渡效果的场景切换特效—— TransitionProgress类 92
3.7.1 基础知识 92
3.7.2 运行效果 93
3.7.3 案例开发过程 93
3.8 本章小结 94
3.9 习题 95
第4章 粒子系统 96
4.1 内置粒子系统的使用 96
4.1.1 内置粒子系统概览 96
4.1.2 炙热的太阳效果 98
4.1.3 焰火、火焰效果 98
4.1.4 星系、绽放效果 99
4.1.5 流星、螺旋效果 99
4.1.6 爆炸、烟雾效果 100
4.1.7 下雪、下雨效果 101
4.1.8 案例开发过程 101
4.2 加载plist粒子系统 108
4.2.1 粒子设计器的使用 108
4.2.2 粒子系统的位置类型 111
4.2.3 加载plist文件的案例 111
4.3 本章小结 114
4.4 习题 114
第5章 杂项 115
5.1 2D图元的绘制 115
5.1.1 基础知识 115
5.1.2 案例运行效果 117
5.1.3 开发过程 117
5.2 单点触控 120
5.2.1 基础知识 120
5.2.2 案例运行效果 121
5.2.3 开发过程 122
5.3 多点触控 125
5.3.1 基本知识 125
5.3.2 案例运行效果 126
5.3.3 开发过程 126
5.4 重力传感器的使用 131
5.4.1 基本知识 131
5.4.2 案例运行效果 131
5.4.3 开发过程 131
5.5 键盘事件的处理 135
5.5.1 基本知识 135
5.5.2 案例运行效果 135
5.5.3 开发过程 136
5.6 用户数据的存储 138
5.6.1 基本知识 138
5.6.2 案例运行效果 140
5.6.3 开发过程 140
5.7 声音的播放 143
5.7.1 基本知识 143
5.7.2 案例运行效果 144
5.7.3 开发过程 144
5.8 在Cocos2d-x中使用多线程 147
5.8.1 基本知识 147
5.8.2 案例运行效果 148
5.8.3 开发过程 149
5.9 文件的输入/输出 151
5.9.1 基本知识 151
5.9.2 案例运行效果 152
5.9.3 开发过程 152
5.10 多分辨率屏幕的自适应 154
5.10.1 非等比例缩放 154
5.10.2 等比例缩放并剪裁 155
5.10.3 等比例缩放并留白 155
5.10.4 Cocos2d-x中的实现 156
5.11 本章小结 156
5.12 习题 157
第6章 TMX瓦片地图 158
6.1 背景知识 158
6.1.1 瓦片地图的基本类型 158
6.1.2 正方形瓦片地图的特点及实现 159
6.2 TMX瓦片地图的基本知识 160
6.2.1 地图设计器 160
6.2.2 开发中常用的相关类 165
6.3 TMX瓦片地图案例 168
6.3.1 运行效果 168
6.3.2 开发过程 168
6.4 本章小结 175
6.5 习题 175
第7章 游戏开发的核心——Box2D物理引擎 176
7.1 物理引擎很重要 176
7.1.1 什么是物理引擎 176
7.1.2 常见的物理引擎 176
7.2 2D的王者Box2D 179
7.2.1 基本的物理学概念 179
7.2.2 Box2D中常用类的介绍 180
7.3 刚体的创建 182
7.3.1 与形状设置相关的知识 182
7.3.2 与刚体创建相关的知识 184
7.3.3 案例运行效果 185
7.3.4 开发过程 185
7.4 刚体的碰撞处理 193
7.4.1 基本知识 193
7.4.2 案例运行效果 194
7.4.3 开发过程 195
7.5 关节 199
7.5.1 基本知识 199
7.5.2 距离关节 200
7.5.3 旋转关节 205
7.5.4 鼠标关节 209
7.5.5 移动关节 214
7.6 本章小结 218
7.7 习题 218
第8章 更加丰富的游戏功能——扩展2D控件 220
8.1 UI系列控件——简单控件 220
8.1.1 基础知识 220
8.1.2 fnt字体文件的制作 223
8.1.3 一个简单案例 224
8.2 UI系列控件——复杂控件 227
8.2.1 基础知识 227
8.2.2 一个简单案例 230
8.3 Control系列控件 235
8.3.1 基础知识 236
8.3.2 一个简单案例 239
8.4 EditBox控件 243
8.4.1 基础知识 243
8.4.2 一个简单案例 245
8.5 TableView控件 248
8.5.1 基础知识 248
8.5.2 一个简单案例 251
8.6 本章小结 255
8.7 习题 255
第9章 Cocos2d-x中的3D开发 256
9.1 走进Cocos2d-x中的3D 256
9.1.1 基础知识 256
9.1.2 一个简单案例 256
9.2 3D摄像机 261
9.2.1 基础知识 261
9.2.2 一个简单案例 262
9.3 3D骨骼动画 264
9.3.1 基础知识 265
9.3.2 c3b文件的生成 266
9.3.3 一个简单案例 267
9.4 本章小结 269
9.5 习题 269
第10章 游戏开发的利器——CocosStudio 270
10.1 CocosStudio的下载及安装 270
10.1.1 下载 270
10.1.2 安装 272
10.1.3 Cocos启动器的简单介绍 273
10.2 使用CocosStudio制作动画 274
10.2.1 骨骼动画的制作 274
10.2.2 换帧动画的制作 278
10.2.3 加载及使用动画的相关知识 280
10.2.4 一个简单案例的开发 281
10.3 使用CocosStudio实现控件编辑 283
10.3.1 控件的编辑 283
10.3.2 加载及使用控件的相关知识 287
10.3.3 一个简单案例的开发 288
10.4 使用CocosStudio制作场景 291
10.4.1 场景的制作 291
10.4.2 加载及使用场景的相关知识 295
10.4.3 一个简单案例的开发 296
10.5 本章小结 298
10.6 习题 298
第11章 课程设计——忍者狂奔 299
11.1 背景以及功能概述 299
11.1.1 游戏背景概述 299
11.1.2 游戏功能简介 300
11.2 游戏的策划及准备工作 301
11.2.1 游戏的策划 301
11.2.2 使用Cocos2d-x开发游戏前的准备工作 302
11.3 游戏的架构 304
11.3.1 游戏中各类的简要介绍 304
11.3.2 游戏的架构简介 304
11.4 场景相关类 305
11.4.1 游戏场景管理类——SceneManager 305
11.4.2 游戏主界面类——WelcomeLayer 306
11.4.3 游戏界面类——GameLayer 309
11.4.4 设置界面类——Settings 322
11.5 游戏的优化与改进 323
11.6 本章小结 324
参考文献 325