第1章 Cocos2d-x基础知识 1
1.1引擎组织结构 1
1.2从2.x到3.x的变化 3
1.2.1类名变化 3
1.2.2单件类变化 4
1.2.3宏定义与结构的变化 4
1.2.4回调函数变化 5
1.2.5事件响应机制的变化 6
1.3 Cocos2d-x中的C++11知识 7
1.3.1 Lambda表达式 7
1.3.2 bind函数 10
1.3.3 function函数 11
1.3.4 auto和nullptr 12
1.3.5 override和final 13
1.4小结 13
第2章 基础类 14
2.1 Director类 15
2.1.1场景函数 15
2.1.2视图信息函数 16
2.1.3管理器函数 17
2.1.4控制函数 17
2.2高级节点类 18
2.2.1 Node类 18
2.2.2 Scene类 24
2.2.3 Layer类 26
2.2.4 Sprite类 27
2.3文字类 31
2.3.1 LabelTTF方式 32
2.3.2 LabelAtlas方式 32
2.3.3 LabelBMFont方式 33
2.4菜单类 33
2.4.1文字按钮 34
2.4.2图片按钮 35
2.4.3切换按钮 35
2.4.4 XJMenu按钮 37
2.5列表类 40
2.5.1 ScrollView类 40
2.5.2 TableView类 42
2.6 其他类 45
2.6.1 SpriteBatchNode类 45
2.6.2 DrawNode类 46
2.6.3 Scale9Sprite类 48
2.6.4 EditBox类 48
2.6.5 RenderTexture类 50
2.7小结 51
第3章 动画 52
3.1 ActionManager类 52
3.2瞬时动画 54
3.2.1可见性动画 54
3.2.2翻转动画 54
3.2.3回调动画 55
3.2.4 Place动画 55
3.2.5 RemoveSelf动画 56
3.3延时动画 56
3.3.1移动动画 57
3.3.2旋转动画 57
3.3.3缩放动画 58
3.3.4扭曲动画 58
3.3.5跳跃动画 59
3.3.6淡入淡出动画 59
3.3.7 Tint动画 60
3.3.8 Blink动画 61
3.3.9 Bezier动画 61
3.3.10 DelayTime动画 62
3.3.11重复动画 62
3.3.12 Sequence动画 62
3.3.13 Spawn动画 63
3.3.14序列帧动画 64
3.3.15 进度动画 65
3.4缓冲动画 67
3.4.1弹性动画 69
3.4.2跳跃动画 69
3.4.3指数动画 70
3.4.4 Sine动画 70
3.4.5回震动画 71
3.4.6 Ease动画 71
3.5 Speed动画 72
3.6 Follow动画 73
3.7 ActionTimeline动画 74
3.8动画特效 75
3.8.1 Grid3DAction动画 75
3.8.2 TiledGrid3DAction动画 78
3.9小结 80
第4章 定时器与事件响应机制 81
4.1定时器 81
4.1.1 Scheduler类 81
4.1.2 Node定时器 83
4.2事件响应机制 85
4.2.1 EventDispatcher类 85
4.2.2 EventListener类 87
4.2.3触摸事件 88
4.2.4键盘事件 89
4.2.5鼠标事件 90
4.2.6加速器事件 90
4.2.7 Event类 91
4.2.8 EventTouch类 91
4.2.9 EventKeyboard类 92
4.2.10 EventMouse类 93
4.2.11 EventAcceleration类 93
4.3小结 94
第5章 粒子系统 95
5.1普通粒子系统 95
5.1.1粒子结构 96
5.1.2 ParticleSystem类 97
5.1.3 ParticleSystemQuad类 98
5.1.4实例 99
5.1.5粒子编辑器 101
5.2 3D粒子 102
5.2.1 ParticleSystem3D类 103
5.2.2 PUParticleSystem3D类 104
5.2.3材质文件 105
5.2.4粒子文件 105
5.2.5粒子使用 106
5.3小结 107
第6章 声音 108
6.1 SimpleAudioEngine类 108
6.1.1背景音乐 108
6.1.2音效 109
6.2 AudioEngine类 110
6.3小结 112
第7章 Cocos2d-x中的3D技术 113
7.1模型 113
7.1.1模型格式 113
7.1.2 Sprite3D类 116
7.1.3动画相关类 117
7.1.4坐标系 118
7.2模型挂接与换装 119
7.2.1挂接 119
7.2.2换装 121
7.3相机 123
7.3.1相机类 123
7.3.2相机类型 124
7.3.3遮罩 127
7.3.4视锥体裁剪 128
7.3.5自由相机 128
7.3.6弧度相机 130
7.3.7第一人称相机 132
7.3.8第三人称相机 132
7.4光照 133
7.4.1灯光基础 133
7.4.2环境光 134
7.4.3方向光 136
7.4.4点光源 136
7.4.5聚光灯 137
7.5碰撞检测 138
7.5.1 2D包围盒检测 139
7.5.2距离检测 139
7.5.3 AABB检测 139
7.5.4 OBB检测 141
7.5.5 Ray检测 141
7.6 Billboard 143
7.7多线程资源加载 144
7.8 2D与3D混合 146
7.9 DrawNode3D类 147
7.10展望 148
第8章 数学库 149
8.1向量 149
8.2矩阵 153
8.2.1矩阵的创建 155
8.2.2向量和值的提取 156
8.2.3零矩阵和单位矩阵 156
8.2.4负矩阵 156
8.2.5矩阵算术运算 157
8.2.6平移、旋转和缩放 158
8.2.7矩阵转置 159
8.2.8方阵 159
8.2.9逆矩阵 160
8.3四元素 160
8.3.1四元素的创建 160
8.3.2零四元素和单位四元素 161
8.3.3负四元素 161
8.3.4四元素的模 161
8.3.5四元素共轭 162
8.3.6逆四元素 162
8.3.7四元素点乘 162
8.3.8四元素叉乘 162
8.3.9线性插值 163
8.3.10 slerp插值 163
8.3.11 squad插值 164
8.3.12四元素的运用 164
8.4 Size类 165
8.5 Rect类 165
8.6小结 166
第9章 Shader编程 168
9.1 GLSL基础 168
9.1.1 Hello World 168
9.1.2数据类型 169
9.1.3数组和结构 171
9.1.4类型限定 172
9.1.5参数限定 173
9.1.6操作符 173
9.1.7流程控制 174
9.1.8函数 175
9.1.9顶点着色 175
9.1.10片段着色 176
9.1.11内置变量 176
9.1.12内置函数 176
9.2 Cocos2d-x对Shader的处理 178
9.2.1 GLProgram 179
9.2.2 GLProgramCache 180
9.2.3 GLProgramState 182
9.2.4 GLProgramStateCache 182
9.3 2D特效 183
9.3.1水平翻转 183
9.3.2垂直翻转 184
9.3.3图像变灰 185
9.3.4图像反色 185
9.3.5图像噪点 186
9.3.6图像模糊 187
9.3.7马赛克 188
9.3.8浮雕效果 188
9.3.9边缘检测 189
9.4 3D特效 190
9.4.1环境光 191
9.4.2散射光 192
9.4.3镜面光 194
9.4.4雾 195
9.4.5波光 197
9.4.6 UV动画 200
9.4.7伪阴影 201
9.4.8卡通着色 203
9.4.9模型轮廓 204
9.5小结 210
第10章 HTTP编程 211
10.1 libcurl基础知识 211
10.1.1 global函数 212
10.1.2 init和cleanup函数 212
10.1.3 setopt函数 212
10.1.4表单函数 214
10.1.5perform函数 217
10.2 pthread基础知识 218
10.2.1线程管理 218
10.2.2互斥变量 221
10.2.3条件变量 223
10.3基本数据通信 225
10.4文件下载 236
10.5文件上传 241
10.6 std::thread 242
10.6.1线程创建 242
10.6.2阻塞 242
10.6.3互斥 242
10.6.4条件变量 243
10.7小结 243
第11章 Socket编程 244
11.1 select介绍 244
11.2 Socket常用函数 246
11.2.1 socket 246
11.2.2 bind 247
11.2.3 listen 248
11.2.4 accept 248
11.2.5 connect 249
11.2.6 send 249
11.2.7 recv 250
11.2.8 sendto 250
11.2.9 recvfrom 250
11.2.10 closesocket 251
11.2.11 shutdown 251
11.2.12 gethostname 251
11.2.13 gethostbyname 251
11.2.14 getpeername 252
11.2.15 setsockopt 252
11.2.16 getsockopt 252
11.3通信实现 253
11.3.1 XJSocket类 253
11.3.2 XJSocketIO类 259
11.3.3 XJSocketIOMgr类 277
11.3.4 XJSocketData类 279
11.4小结 282
第12章 适配 283
12.1资源分辨率 283
12.2设计分辨率 284
12.2.1 kResolutionExactFit适配 285
12.2.2 kResolutionNoBorder适配 289
12.2.3固定宽或高适配 296
12.3屏幕分辨率 297
12.4小结 298
第13章 自动更新 299
13.1文件版本管理 299
13.2 so文件更新 302
13.3资源文件更新 309
13.3.1 XJFileUtil类 310
13.3.2 XJVersionMgr类 311
13.3.3 UpdateMgr类 313
13.4小结 315
第14章 加解密 316
14.1 AES算法 316
14.2加密 319
14.3解密 319
14.3.1 2.x解密 320
14.3.2 3.5版本解密 320
14.4小结 322
第15章 iOS 323
15.1平台编译 323
15.2基本设置 324
15.2.1 info.plist文件 324
15.2.2 Icon和 Launchimage设置 324
15.2.3横竖屏 325
15.3真机调试 326
15.3.1证书 326
15.3.2 App ID 327
15.3.3设备 327
15.3.4配置文件 328
15.4 In-App Purchase 328
15.4.1 Store Kit框架类 329
15.4.2创建发布程序 330
15.4.3获取产品列表 330
15.4.4购买 332
15.4.5验证 334
15.5经纬度 334
15.6照相 337
15.7发布 342
第16章 Android 344
16.1 Win32平台下开发环境搭建 344
16.1.1安装配置python 344
16.1.2 Cocos2d-x 2.x项目创建 344
16.1.3 Cocos2d-x 3.x项目创建 344
16.2 Android开发环境搭建 345
16.2.1 JDK 345
16.2.2 Android SDK 346
16.2.3 NDK 346
16.2.4 Eclipse编译 346
16.3基本知识 347
16.3.1 AndroidManifest文件 347
16.3.2 Android.mk文件 347
16.3.3启动方式 348
16.3.4签名 348
16.4 C++与Java互调 349
16.4.1 C++部分编写 349
16.4.2 Java部分编写 350
16.5经纬度 350
16.5.1 getLastKnownLocation函数 351
16.5.2条件查找 352
16.6获取图片 353
16.7应用关闭 357
16.8小结 358