当前位置:首页 > 工业技术
Cocos2d-x游戏实战指南
Cocos2d-x游戏实战指南

Cocos2d-x游戏实战指南PDF电子书下载

工业技术

  • 电子书积分:16 积分如何计算积分?
  • 作 者:李宁著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2016
  • ISBN:9787302447849
  • 页数:524 页
图书介绍:本书采用Cocos2d-x的最新版本,包括下载和安装Cocos2d-x,Cocos2d-x工程分析,Cocos2d-x的核心类,标签、菜单和控件、网络技术、动作、存储技术、瓦片地图、粒子流等内容,并配有大量的联系代码以供读者练习用。
《Cocos2d-x游戏实战指南》目录

第1章 初识Cocos2d-x 1

1.1 跨平台的由来 1

1.2 跨平台开发模式的种类和优缺点 2

1.2.1 虚拟机与跨平台技术 3

1.2.2 Web与跨平台技术 5

1.2.3 跨平台编译技术 7

1.2.4 为每个平台定制本地应用 8

1.3 跨平台游戏引擎 11

1.3.1 什么是跨平台游戏引擎 11

1.3.2 有哪些游戏引擎可以跨平台 13

1.4 Cocos2d-x横空出世 14

1.4.1 Cocos2d-x的前世今生 14

1.4.2 Cocos2d-x的特点 15

1.5 小结 15

第2章 搭建和使用跨平台Cocos2d-x开发环境 16

2.1 使用Cocos2d-x开发游戏需要准备些什么 16

2.2 Cocos2d-x 3.10开发环境的最低要求 17

2.3 让Eclipse支持C++ 11 18

2.4 Cocos2d-x 3.10开发环境的安装、配置和使用 20

2.4.1 Cocos2d-x 3.10的目录结构 20

2.4.2 使用cocos建立跨平台工程 21

2.4.3 编译和运行Cocos2d-x 3.10 for iOS/Mac程序 24

2.4.4 编译和运行Cocos2d-x 3.10 for Android程序 28

2.4.5 编译和运行Cocos2d-x 3.10 for Win32程序 32

2.5 Cocos2d-x 3.10例子代码的使用 33

2.6 小结 33

第3章 Cocos2d-x默认工程模板的架构和源代码分析 34

3.1 Cocos2d-x实现跨平台的原理 34

3.2 默认场景类HelloWorldScene的实现原理分析 38

3.3 控制横竖屏切换 43

3.4 小结 45

第4章 Cocos2d-x中的核心类 46

4.1 导演类 46

4.1.1 Director类与初始化Cocos2d-x 47

4.1.2 结束、暂停与恢复Cocos2d-x程序 49

4.1.3 获取窗口的尺寸和位置 51

4.1.4 Director类中的其他成员方法 57

4.2 节点类 57

4.2.1 节点类的功能 58

4.2.2 节点类的成员方法 59

4.2.3 Cocos2d-x对象的创建、自动释放(Autorelease)与ARC 64

4.2.4 CREATE_FUNC宏与create方法 65

4.2.5 Cocos2d-x中的坐标系 68

4.2.6 节点的移动、缩放和旋转 74

4.3 场景类 79

4.3.1 创建场景 80

4.3.2 运行和切换场景 80

4.3.3 场景切换的各种特效 81

4.4 图层类 89

4.4.1 Layer类的基本应用 89

4.4.2 Layer的子类 91

4.4.3 颜色图层类 91

4.4.4 颜色渐变图层类 96

4.4.5 多图层管理类 98

4.5 精灵类 100

4.5.1 Sprite类 100

4.5.2 贴图类(Texture2D)和贴图缓冲类 102

4.5.3 精灵批处理类 104

4.5.4 精灵框架类 106

4.5.5 精灵框架缓冲类 108

4.5.6 九宫格缩放精灵类 111

4.6 集合类(Vector和Map) 114

4.7 小结 117

第5章 标签、菜单与控件 118

5.1 标签类 118

5.1.1 LabelTTF标签(使用TTF字体文件) 119

5.1.2 LabelAtlas标签(需要截取图像) 122

5.1.3 LabelBMFont标签(使用FNT字体文件) 123

5.1.4 生成FNT字体文件 125

5.2 菜单与菜单项 127

5.2.1 Menu类 127

5.2.2 标签菜单项 128

5.2.3 字体菜单项 131

5.2.4 精灵菜单项 133

5.2.5 图像菜单项 136

5.2.6 开关菜单项 139

5.3 控件 142

5.3.1 UI布局 142

5.3.2 文本控件 145

5.3.3 按钮控件 147

5.3.4 文本输入框控件 149

5.3.5 高级文本输入框控件 152

5.3.6 复选框控件 158

5.3.7 开关控件 162

5.3.8 图像框控件 164

5.3.9 进度条控件 165

5.3.10 滑杆控件 167

5.3.11 高级滑杆控件 169

5.3.12 步进控件 172

5.3.13 列表控件 174

5.3.14 表格控件 178

5.3.15 滚动视图控件 182

5.3.16 分页控件 183

5.3.17 颜色选择控件 185

5.4 小结 186

第6章 本地化 187

6.1 自适应屏幕分辨率 187

6.1.1 尺寸类型及屏幕适配原理 188

6.1.2 Cocos2d-x中的各种尺寸深度详解 189

6.1.3 分辨率策略(ResolutionPolicy) 193

6.1.4 通过设计尺寸进行屏幕适配 195

6.1.5 通过内容缩放因子进行屏幕适配 199

6.1.6 为每一个Node单独调整尺寸 201

6.2 Cocos2d-x多语言适配 201

6.3 小结 205

第7章 Cocos2d-x中的事件处理机制 206

7.1 触摸事件与移动节点 206

7.2 多点触摸 213

7.3 键盘响应事件 219

7.4 鼠标响应事件 220

7.5 加速度传感器事件 222

7.6 自定义事件 225

7.7 小结 227

第8章 网络技术 228

8.1 HttpClient类 228

8.1.1 发送HTTP Get请求 228

8.1.2 发送Http Post请求 231

8.2 WebSocket类 234

8.3 SocketIO类 239

8.4 小结 242

第9章 Cocos2d-x中的动作类 243

9.1 所有动作的基类 244

9.2 位置(Position)动作 245

9.2.1 沿直线匀速移动动作 245

9.2.2 跳跃动作 247

9.2.3 贝塞尔曲线动作 248

9.2.4 固定张力的样条曲线动作 251

9.2.5 可变张力的样条曲线动作 254

9.3 旋转与缩放动作 254

9.3.1 旋转动作 255

9.3.2 缩放动作 256

9.4 执行规则动作 257

9.4.1 顺序执行动作 258

9.4.2 并行动作 259

9.4.3 重复执行动作 260

9.4.4 无限循环动作 261

9.4.5 反序动作 262

9.5 控制节点显示和隐藏的动作 263

9.5.1 闪烁动作 263

9.5.2 淡入淡出动作 263

9.5.3 透明度渐变动作 265

9.5.4 颜色渐变动作 265

9.6 可立即执行的动作 266

9.7 回调函数动作 269

9.8 变速动作 270

9.8.1 幂加速动作 270

9.8.2 幂减速动作 272

9.8.3 幂加速减速动作 273

9.8.4 指数加速动作 274

9.8.5 指数减速动作 274

9.8.6 指数加速减速动作 275

9.8.7 正弦加速动作 275

9.8.8 正弦减速动作 276

9.8.9 正弦加速减速动作 276

9.8.10 弹性加速动作 277

9.8.11 弹性减速动作 278

9.8.12 弹性加速减速动作 279

9.8.13 弹跳加速动作 280

9.8.14 弹跳减速动作 281

9.8.15 弹跳加速减速动作 281

9.8.16 回退加速动作 282

9.8.17 回退减速动作 282

9.8.18 回退加速减速动作 283

9.9 网格动作 284

9.9.1 实现测试网格动作的基类 284

9.9.2 2D波浪动作 285

9.9.3 3D波浪动作 286

9.9.4 水平3D翻转动作 287

9.9.5 垂直3D翻转动作 288

9.9.6 3D震动动作 289

9.9.7 3D透镜动作 290

9.9.8 3D波纹动作 290

9.9.9 流体动作 291

9.9.10 旋转变形动作 292

9.9.11 3D瓦片震动动作 293

9.9.12 3D瓦片破碎动作 294

9.9.13 3D瓦片洗牌动作 294

9.9.14 瓦片从左下角到右上角淡出动作 295

9.9.15 瓦片从右上角到左下角淡出动作 296

9.9.16 瓦片向上淡出动作 297

9.9.17 瓦片向下淡出动作 297

9.9.18 关闭瓦片动作 298

9.9.19 3D波浪瓦片动作 299

9.9.20 3D跳跃瓦片动作 300

9.9.21 拆分行动作 301

9.9.22 拆分列动作 301

9.9.23 3D翻页动作 302

9.10 其他动作 303

9.10.1 绑定节点和动作 303

9.10.2 扭曲动作(SkewBy和SkewTo) 304

9.10.3 轨道照相机动作 305

9.10.4 延迟运行动作 307

9.11 小结 307

第10章 调度器、绘图API与动画 308

10.1 调度器 308

10.1.1 update定时器调度 308

10.1.2 设置update定时器的优先级 311

10.1.3 自定义调度器 313

10.1.4 停止调度器 316

10.2 绘图API 317

10.3 动画 320

10.3.1 基于绘图API与调度器的动画 320

10.3.2 帧(Frame)动画 323

10.4 小结 327

第11章 数据存储技术 328

11.1 使用UserDefault读写Key-Value类型的数据 328

11.2 读写流文件 332

11.3 操作XML文件 336

11.3.1 使用tinyxml2生成XML文件 336

11.3.2 使用tinyxml2以DOM方式读取XML文件 338

11.3.3 使用SAXParser以SAX方式读取XML文件 340

11.4 使用rapidjson读写JSON文件 343

11.5 使用SQLite数据库 349

11.6 小结 353

第12章 Sprite3D技术 354

12.1 什么是Sprite3D 354

12.2 Cocos2d-x支持哪些3D模型格式 355

12.3 装载obj格式的3D模型文件 355

12.4 装载和使用c3t和c3b格式的3D模型文件 358

12.4.1 使用fbx-conv将fbx转换为c3t和c3b格式 358

12.4.2 旋转的3D怪物 358

12.4.3 游泳的海龟 360

12.5 小结 362

第13章 Cocos2d-x中的瓦片和地图 363

13.1 瓦片和地图编辑器 364

13.1.1 瓦片地图的种类和用途 364

13.1.2 瓦片地图编辑器(Tiled MapEditor) 366

13.1.3 用Tiled编辑地图 367

13.2 在Cocos2d-x中使用地图 372

13.2.1 在程序中显示地图 372

13.2.2 隐藏和显示图层 374

13.2.3 编辑图块 375

13.2.4 获取图块的属性值 377

13.2.5 在地图中添加精灵 378

13.2.6 让精灵只在道路上移动 379

13.2.7 改变遮挡关系(zOrder和PositionZ) 385

13.2.8 拖动地图 388

13.2.9 在45度角地图上种树 389

13.2.10 使用对象层 394

13.3 小结 400

第14章 粒子系统 401

14.1 Cocos2d-x内置的标准粒子特效 401

14.1.1 群星闪烁 401

14.1.2 幽灵鬼火 403

14.1.3 群星爆炸 404

14.2 粒子特效属性详解 405

14.3 自定义粒子特效 407

14.3.1 五彩旋转戒指 407

14.3.2 放大版的群星闪烁 408

14.4 可视化粒子特效设计器 410

14.4.1 Particle Designer(仅适用于OS X) 410

14.4.2 Particle Editor(只适用于Windows系统) 414

14.5 通过plist文件实现粒子特效 415

14.5.1 彗星特效 415

14.5.2 用plist文件实现放大版的群星闪烁 416

14.6 燃烧的圣火 418

14.7 小结 421

第15章 物理引擎 422

15.1 物理引擎概述 422

15.1.1 什么是物理引擎 423

15.1.2 物理引擎在游戏中的地位 423

15.1.3 Box2D和Chipmunk的对比 424

15.2 Cocos2d-x 3.x中抽象封装的物理引擎 424

15.2.1 抽象物理引擎概述 424

15.2.2 使用抽象物理引擎创建Body(刚体) 427

15.3 Android平台如何使用物理引擎 430

15.4 改变Android和iOS平台默认的物理引擎 431

15.5 碰撞检测 432

15.6 只撞击一侧边缘的碰撞检测 440

15.7 足球撞击特效 442

15.8 骷髅堆中的足球 444

15.9 用重力感应控制的足球 445

15.10 小结 448

第16章 骨骼动画 449

16.1 骨骼动画概述 449

16.2 骨骼动画的优势 450

16.3 Spine骨骼动画 450

16.3.1 Spine骨骼动画简介 450

16.3.2 在Cocos2d-x中使用Spine骨骼动画 451

16.3.3 Spine简介 454

16.3.4 用Spine导入骨骼动画图像资源 455

16.3.5 完成图像的摆放 457

16.3.6 绑定骨骼 457

16.3.7 在骨骼上旋转图像 458

16.3.8 设计骨骼动画 459

16.4 Armature骨骼动画 460

16.4.1 安装和运行Cocos Studio 460

16.4.2 将图像导入工程 461

16.4.3 使用图像资源 462

16.4.4 创建骨骼 463

16.4.5 绑定骨骼和图像 463

16.4.6 设计骨骼动画 464

16.4.7 导出骨骼动画 465

16.4.8 在Cocos2d-x中使用骨骼动画 465

16.5 小结 467

第17章 Objective-C、Swift、C++和Java交互 468

17.1 C++与Objective-C的交互 468

17.1.1 C++调用Objective-C API 468

17.1.2 通过Objective-C获取Web数据 472

17.1.3 Objective-C调用C++ API 474

17.1.4 .mm文件到底起什么作用 478

17.2 C++调用Swift API 480

17.2.1 创建Swift文件 480

17.2.2 编写Swift类 481

17.2.3 自动生成的头文件的位置和命名规则 482

17.2.4 自动生成的头文件的内容 484

17.2.5 自动生成头文件非得用@objc吗 484

17.2.6 用Objective-C调用Swift API 485

17.2.7 C++调用Swift API 487

17.3 Swift调用Objective-C API 488

17.3.1 在桥接头文件中引用Objective-C的头文件 488

17.3.2 在Swift源代码文件中调用Objective API 489

17.3.3 Objective-C调用Swift API 489

17.3.4 声明和实现C++风格的方法 490

17.3.5 C++调用Swift API 491

17.4 Android平台多语言交互 492

17.4.1 C++调用Java类的无参数静态方法 492

17.4.2 C++调用有参数的静态Java方法 495

17.4.3 C++调用Java类的非静态方法 497

17.4.4 C++调用Java API向SQLite数据库中插入信息(获取Context对象) 500

17.4.5 C++调用Java API查询SQLite数据库中的记录 502

17.4.6 Java调用C++ API 505

17.5 小结 508

第18章 项目实战:星空大战 509

18.1 游戏概述 509

18.2 滚动背景 510

18.2.1 滚动游戏背景 510

18.2.2 让云彩在背景上移动 511

18.3 创建战机 512

18.3.1 创建战机类 512

18.3.2 创建战机图层 513

18.3.3 让战机移动 513

18.3.4 为战机添加光子鱼雷武器 514

18.3.5 为战机添加激光束武器 515

18.3.6 为战机添加带有自动跟踪功能的导弹 517

18.3.7 让战机发射武器 518

18.4 创建敌机 520

18.4.1 创建小敌机 520

18.4.2 创建大敌机 522

18.4.3 敌机发送炮弹 522

18.5 小结 524

返回顶部