图书介绍

Cocos2d-x实战 C++卷2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

Cocos2d-x实战 C++卷
  • 关东升著 著
  • 出版社: 北京:清华大学出版社
  • ISBN:9787302454144
  • 出版时间:2017
  • 标注页数:636页
  • 文件大小:68MB
  • 文件页数:657页
  • 主题词:移动电话机-游戏程序-程序设计;便携式计算机-游戏程序-程序设计;C语言-程序设计

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

Cocos2d-x实战 C++卷PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1章 准备开始1

1.1 本书学习路线图1

1.2 如何使用实例代码2

基础篇7

第2章 Cocos2d-x简介与环境搭建7

2.1 移动平台游戏引擎简介7

2.2 Cocos2d家谱7

2.3 Cocos2d-x设计目标8

2.4 在Windows平台下开发Cocos2d-x游戏10

2.4.1 使用Visual Studio开发工具10

2.4.2 下载和使用Cocos2d-x案例10

2.4.3 生成API文档13

本章小结19

第3章 Hello Cocos2d-x20

3.1 第一个Cocos2d-x游戏20

3.1.1 创建工程20

3.1.2 工程文件结构23

3.1.3 代码解释24

3.2 Cocos2d-x核心概念30

3.2.1 导演31

3.2.2 场景31

3.2.3 层31

3.2.4 精灵32

3.2.5 菜单33

3.3 Node与Node层级架构34

3.3.1 Node中重要的操作34

3.3.2 Node中重要的属性35

3.3.3 游戏循环与调度38

3.4 Cocos2d-x坐标系39

3.4.1 UI坐标39

3.4.2 OpenGL坐标40

3.4.3 世界坐标和模型坐标40

3.4.4 Win32平台下设置屏幕45

本章小结45

第4章 字符串、标签和菜单46

4.1 Cocos2d-x中的字符串46

4.1.1 使用const char*和std::string46

4.1.2 使用cocos2d::String47

4.1.3 Win32平台下中文乱码问题48

4.2 使用标签49

4.2.1 使用标签类Label50

4.2.2 位图字体53

4.2.3 图片集标签54

4.2.4 标签中文无法显示问题55

4.3 使用菜单58

4.3.1 文本菜单59

4.3.2 精灵菜单和图片菜单62

4.3.3 开关菜单64

本章小结66

第5章 精灵67

5.1 Sprite精灵类67

5.1.1 创建Sprite精灵对象67

5.1.2 实例:使用纹理对象创建Sprite对象68

5.2 精灵的性能优化70

5.2.1 使用纹理图集70

5.2.2 使用精灵帧缓存73

本章小结76

第6章 场景与层77

6.1 场景与层的关系77

6.2 场景过渡78

6.2.1 场景过渡相关函数78

6.2.2 场景过渡动画83

6.3 场景的生命周期85

6.3.1 生命周期函数85

6.3.2 多场景过渡生命周期86

本章小结88

第7章 动作、特效和动画89

7.1 动作89

7.1.1 瞬时动作90

7.1.2 间隔动作95

7.1.3 组合动作100

7.1.4 动作速度控制106

7.1.5 函数调用110

7.2 特效114

7.2.1 网格动作115

7.2.2 实例:特效演示116

7.3 动画120

7.3.1 帧动画120

7.3.2 实例:帧动画使用121

本章小结123

第8章 Cocos2d-x用户事件124

8.1 事件处理机制124

8.1.1 事件分发器125

8.1.2 触摸事件126

8.1.3 实例:单点触摸事件128

8.1.4 实例:使用Lambda表达式132

8.1.5 键盘事件134

8.1.6 鼠标事件135

8.2 在层中进行事件处理136

8.2.1 触摸事件137

8.2.2 实例:单点触摸事件138

8.3 加速度计与加速度事件141

8.3.1 加速度计142

8.3.2 使用事件分发器142

8.3.3 使用层加速度计事件143

8.3.4 实例:运动的小球144

本章小结146

进阶篇149

第9章 游戏背景音乐与音效149

9.1 Cocos2d-x中音频文件149

9.1.1 音频文件介绍149

9.1.2 Cocos2d-x跨平台音频支持150

9.2 使用Audio引擎151

9.2.1 音频文件的预处理151

9.2.2 播放背景音乐152

9.2.3 停止播放背景音乐154

9.2.4 背景音乐播放暂停与继续155

9.3 实例:设置背景音乐与音效156

9.3.1 AppDelegate实现156

9.3.2 HelloWorld场景实现158

9.3.3 设置场景实现160

本章小结164

第10章 粒子系统165

10.1 问题的提出165

10.2 粒子系统基本概念166

10.2.1 实例:打火机166

10.2.2 粒子发射模式167

10.2.3 粒子系统属性168

10.3 Cocos2d-x内置粒子系统170

10.3.1 内置粒子系统170

10.3.2 实例:内置粒子系统171

10.4 自定义粒子系统174

10.4.1 代码创建174

10.4.2 plist文件创建177

本章小结180

第11章 瓦片地图181

11.1 地图性能问题181

11.2 Cocos2d-x中瓦片地图API183

11.3 实例:忍者无敌185

11.3.1 设计地图185

11.3.2 程序中加载地图186

11.3.3 移动精灵188

11.3.4 检测碰撞190

11.3.5 滚动地图195

本章小结197

第12章 物理引擎198

12.1 使用物理引擎199

12.1.1 物理引擎核心概念199

12.1.2 物理引擎与精灵关系200

12.2 Cocos2d-x 3.x中物理引擎封装201

12.2.1 Cocos2d-x 3.x物理引擎API201

12.2.2 实例:HelloPhysicsWorld204

12.2.3 实例:接触与碰撞检测208

12.2.4 实例:使用关节213

12.3 Box2D引擎215

12.3.1 Box2D核心概念215

12.3.2 使用Box2D物理引擎的一般步骤215

12.3.3 实例:HelloBox2D216

12.3.4 实例:接触与碰撞检测221

12.3.5 实例:使用关节225

本章小结227

第13章 Cocos2d-x GUI控件228

13.1 按钮229

13.2 ImageView232

13.3 文本控件233

13.3.1 Text233

13.3.2 TextBMFont233

13.3.3 RichText235

13.4 RadioButton和RadioButtonGroup237

13.5 CheckBox239

13.6 LoadingBar240

13.7 滑块控件242

本章小结244

第14章 Cocos2d-x中的3D特性245

14.1 一些3D概念245

14.1.1 网格和模型245

14.1.2 相机246

14.1.3 投影246

14.2 使用3D精灵247

14.2.1 创建Sprite3D对象247

14.2.2 实例:使用模型和纹理Sprite3D对象247

14.3 3D模型文件格式250

14.4 使用相机251

14.4.1 创建和设置Camera对象251

14.4.2 实例:使用Camera对象251

14.5 3D粒子系统253

14.5.1 创建PUParticleSystem3D对象253

14.5.2 实例:创建Particle Universe 3D粒子253

本章小结256

数据与网络篇259

第15章 Cocos2d-x数据结构259

15.1 Cocos2d-x中两大类——Ref和Value259

15.1.1 Cocos2d-x根类Ref260

15.1.2 包装类Value260

15.2 Ref列表结构261

15.2.1 ___Array结构262

15.2.2 实例:___Array结构263

15.2.3 Vector<T>结构266

15.2.4 实例:Vector结构268

15.3 Ref字典结构270

15.3.1 _Dictionary结构270

15.3.2 实例:_Dictionary结构272

15.3.3 Map<K,V>结构276

15.3.4 实例:Map<K,V>结构277

15.4 Value列表结构——ValueVector279

15.4.1 ValueVector常用API279

15.4.2 实例:使用ValueVector结构280

15.5 Value字典结构——ValueMap和ValueMapIntKey282

15.5.1 ValueMap和ValueMapIntKey常用API282

15.5.2 实例:使用ValueMap结构283

本章小结286

第16章 数据持久化287

16.1 使用FileUtils访问文件287

16.1.1 Cocos2d-x中的目录287

16.1.2 实例:文件读写289

16.1.3 实例:路径搜索292

16.2 持久化概述294

16.3 UserDefault数据持久化295

16.3.1 UserDefaultAPI295

16.3.2 实例:保存背景音乐和音效设置297

16.4 属性列表数据持久化303

16.4.1 属性列表概述303

16.4.2 实例:MyNotes305

16.4.3 使用_Dictionary读写属性列表文件305

16.4.4 使用ValueMap读写属性列表文件310

16.4.5 使用ValueVector读取属性列表文件313

16.5 SQLite数据库数据持久化315

16.5.1 SQLite数据库介绍315

16.5.2 Visual Studio下SQLite数据库开发环境设置316

16.5.3 实例:重构MyNotes319

16.5.4 创建数据库320

16.5.5 SQLite数据库管理工具322

16.5.6 查询数据324

16.5.7 修改数据327

本章小结330

第17章 数据交换格式331

17.1 CSV数据交换格式333

17.1.1 文档结构333

17.1.2 CSV格式解码335

17.2 XML数据交换格式339

17.2.1 文档结构339

17.2.2 SAX解析341

17.2.3 DOM解析347

17.3 JSON数据交换格式353

17.3.1 文档结构353

17.3.2 JSON框架jsoncpp和rapidjson比较355

17.3.3 实例:rapidjson解码355

17.3.4 实例:rapidjson编码360

本章小结363

第18章 基于HTTP的网络通信364

18.1 网络结构364

18.1.1 客户端服务器结构网络364

18.1.2 点对点结构网络364

18.2 HTTP与HTTPS协议365

18.3 使用cURL开发客户端366

18.3.1 cURL与libcurl库366

18.3.2 Visual Studio下libcurl库开发环境设置366

18.3.3 实例:重构MyNotes367

18.4 使用HttpClient开发客户端375

18.4.1 HttpClientAPI376

18.4.2 Visual Studio下HttpClient开发环境设置377

18.4.3 实例:重构MyNotes378

本章小结384

第19章 基于Node.js的Socket.IO网络通信385

19.1 Node.js385

19.1.1 Node.js安装385

19.1.2 Node.js测试386

19.2 使用Socket.IO388

19.2.1 Socket.IO服务器端开发388

19.2.2 Cocos2d-x的Socket.IO客户端390

本章小结396

设计与优化篇399

第20章 Cocos2d-x中的常用设计模式399

20.1 单例设计模式399

20.1.1 问题提出400

20.1.2 实现原理400

20.1.3 应用案例401

20.2 委托设计模式401

20.2.1 问题提出401

20.2.2 实现原理402

20.2.3 应用案例403

20.3 观察者设计模式与通知机制406

20.3.1 问题提出406

20.3.2 实现原理407

20.3.3 通知机制408

本章小结411

第21章 Cocos2d-x中的内存管理412

21.1 C++内存管理412

21.1.1 内存分配区域412

21.1.2 动态内存分配413

21.2 Ref内存管理415

21.2.1 内存引用计数416

21.2.2 自动释放池417

21.2.3 Ref内存管理规则420

21.3 Ref内存管理设计模式422

21.3.1 使用静态构造函数422

21.3.2 使用访问器424

21.4 其他类型内存管理429

21.4.1 Value内存管理429

21.4.2 Vector<T>和Map<K,V>内存管理429

本章小结430

第22章 性能优化431

22.1 工具431

22.1.1 Xcode中Instruments工具使用431

22.1.2 使用Windows任务管理器435

22.1.3 Visual Studio内存泄漏检测工具——Visual Leak Detector437

22.1.4 左下角的文字是什么441

22.2 使用SpriteBatchNode批次渲染442

22.3 合理使用缓存444

22.3.1 场景与资源445

22.3.2 缓存创建和清除时机446

22.4 图片与纹理优化448

22.4.1 选择图片格式449

22.4.2 拼图450

22.4.3 纹理像素格式451

22.4.4 纹理缓存异步加载452

22.4.5 背景图片优化455

22.5 声音优化456

22.5.1 声音格式优化457

22.5.2 声音预处理与清除458

22.6 多线程并发访问458

22.6.1 std::thread多线程技术459

22.6.2 异步预处理声音460

22.7 SQLite数据库优化461

22.7.1 表结构优化461

22.7.2 查询优化462

22.7.3 插入(或删除)优化462

22.8 数据交换格式优化463

本章小结465

平台移植篇469

第23章 从Win32平台到Android平台移植469

23.1 搭建交叉编译和打包环境469

23.1.1 Android SDK安装472

23.1.2 管理Android SDK473

23.1.3 管理Android开发模拟器475

23.1.4 Android NDK安装476

23.1.5 设置环境变量478

23.2 交叉编译、打包和运行479

23.2.1 使用cocos命令行工具479

23.2.2 Android.mk编译文件481

23.3 移植问题汇总483

23.3.1 中文乱码问题483

23.3.2 SQLite3数据库移植问题484

23.3.3 JSON框架rapidjson移植问题485

23.3.4 libcurl库移植问题486

23.3.5 libNetwork库移植问题487

23.3.6 横屏与竖屏设置问题488

本章小结489

第24章 从Win32平台到iOS平台移植490

24.1 iOS开发环境搭建490

24.1.1 Xcode安装和卸载490

24.1.2 Xcode操作界面493

24.2 从Visual Studio工程到Xcode工程494

24.2.1 添加源文件495

24.2.2 添加资源文件496

24.2.3 Xcode中编译并运行498

24.3 移植问题汇总498

24.3.1 中文乱码问题498

24.3.2 SQLite3数据库移植问题500

24.3.3 JSON框架rapidjson移植问题500

24.3.4 libcurl库移植问题502

24.3.5 声音移植问题503

24.3.6 使用PVR纹理格式506

24.3.7 横屏与竖屏设置问题507

本章小结508

第25章 Cocos2d-x多分辨率屏幕适配509

25.1 屏幕适配问题的提出509

25.2 Cocos2d-x屏幕适配510

25.2.1 三种分辨率510

25.2.2 分辨率适配策略513

25.2.3 纹理图集资源适配515

25.2.4 瓦片地图资源适配517

本章小结517

实战篇521

第26章 使用Git管理程序代码版本521

26.1 代码版本管理工具——Git521

26.1.1 版本控制历史521

26.1.2 术语和基本概念522

26.1.3 Git环境配置522

26.1.4 Git常用命令523

26.2 代码托管服务——GitHub526

26.2.1 创建和配置GitHub账号526

26.2.2 创建代码库529

26.2.3 删除代码库531

26.2.4 派生代码库531

26.2.5 GitHub协同开发534

26.3 实例:Cocos2d-x游戏项目协同开发535

26.3.1 提交到GitHub代码库535

26.3.2 克隆GitHub代码库538

26.3.3 重新获得GitHub代码库538

本章小结539

第27章 Cocos2d-x敏捷开发项目实战——迷失航线手机游戏540

27.1 迷失航线游戏分析与设计540

27.1.1 迷失航线故事背景540

27.1.2 需求分析540

27.1.3 原型设计541

27.1.4 游戏脚本542

27.2 任务1:游戏工程的创建与初始化542

27.2.1 迭代1.1:创建工程543

27.2.2 迭代1.2:多分辨率支持543

27.2.3 迭代1.3:通用类与基类维护545

27.2.4 迭代1.4:发布到GitHub548

27.3 任务2:创建Loading场景548

27.3.1 迭代2.1:添加场景和层549

27.3.2 迭代2.2:Loading动画550

27.3.3 迭代2.3:异步加载纹理缓存550

27.3.4 迭代2.4:异步预处理声音552

27.4 任务3:创建Home场景553

27.4.1 迭代3.1:添加场景和层553

27.4.2 迭代3.2:添加菜单554

27.5 任务4:创建设置场景556

27.6 任务5:创建帮助场景558

27.7 任务6:游戏场景实现560

27.7.1 迭代6.1:创建敌人精灵560

27.7.2 迭代6.2:创建玩家飞机精灵565

27.7.3 迭代6.3:创建炮弹精灵567

27.7.4 迭代6.4:初始化游戏场景569

27.7.5 迭代6.5:游戏场景菜单实现573

27.7.6 迭代6.6:玩家飞机发射炮弹574

27.7.7 迭代6.7:炮弹与敌人的接触检测575

27.7.8 迭代6.8:玩家飞机与敌人的接触检测578

27.7.9 迭代6.9:玩家飞机生命值显示580

27.7.10 迭代6.10:显示玩家得分情况581

27.8 任务7:游戏结束场景582

本章小结583

第28章 把迷失航线游戏发布到Google play应用商店584

28.1 谷歌Android应用商店Google play584

28.2 Android设备测试585

28.3 还有“最后一公里”586

28.3.1 添加图标587

28.3.2 生成数字签名文件587

28.3.3 应用程序打包588

28.4 发布产品589

28.4.1 上传APK589

28.4.2 填写商品详细信息591

28.4.3 定价和发布范围593

本章小结595

第29章 把迷失航线游戏发布到苹果App Store596

29.1 苹果的App Store596

29.2 还有“最后一公里”598

29.2.1 添加图标598

29.2.2 添加启动界面599

29.2.3 修改发布产品属性603

29.3 iOS设备测试605

29.3.1 Xcode设置605

29.3.2 设备设置608

29.4 为发布进行编译610

29.4.1 创建开发者证书610

29.4.2 创建App ID614

29.4.3 创建描述文件618

29.4.4 发布编译619

29.5 发布上架623

29.5.1 创建应用623

29.5.2 应用定价626

29.5.3 基本信息输入627

29.5.4 上传应用631

29.5.5 提交审核632

29.6 常见审核通不过的原因635

29.6.1 功能问题635

29.6.2 用户界面问题635

29.6.3 商业问题635

29.6.4 不当内容636

29.6.5 其他问题636

本章小结636

热门推荐