图书介绍

我所理解的Cocos2d-xPDF|Epub|txt|kindle电子书版本网盘下载

我所理解的Cocos2d-x
  • 秦春林著 著
  • 出版社: 北京:电子工业出版社
  • ISBN:9787121246258
  • 出版时间:2014
  • 标注页数:438页
  • 文件大小:64MB
  • 文件页数:462页
  • 主题词:游戏程序-程序设计

PDF下载


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

下载说明

我所理解的Cocos2d-xPDF格式电子书版下载

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

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

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

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

图书目录

第1章 全新的Cocos2d-x 3.01

1.1 Cocos2d-x 3.0的历史意义1

1.1.1 回归C++风格2

1.1.2 更灵活的渲染架构2

1.1.3 更自由的发展2

1.2 Cocos2d-x 3.0的新特性3

1.2.1 使用C++风格3

1.2.2 跨平台的Label6

1.2.3 新的渲染系统6

1.2.4 统一的消息分发8

1.2.5 物理引擎集成9

1.2.6 新的数据结构10

1.2.7 其他14

1.3 Cocos2d-x引擎展望15

1.3.1 3D16

1.3.2 Cocos Code IDE16

1.4 本章小结17

第2章 Cocos2d-x架构一瞥19

2.1 Cocos2d-x引擎系统总览19

2.2 Cocos2d-x内存管理机制21

2.2.1 C++显式堆内存管理21

2.2.2 C++11中的智能指针22

2.2.3 为什么不使用智能指针23

2.2.4 垃圾回收机制23

2.2.5 Cocos2d-x内存管理机制24

2.2.6 Cocos2d-x中的智能指针29

2.2.7 怎样进行内存管理35

2.3 UI树及运行时游戏对象35

2.3.1 位置与变换35

2.3.2 坐标系36

2.3.3 UI树39

2.3.4 UI元素与内存管理45

2.4 应用程序架构46

2.4.1 游戏生命周期46

2.4.2 窗口尺寸48

2.4.3 场景管理48

2.4.4 游戏循环49

2.5 实时更新游戏对象52

2.5.1 帧率52

2.5.2 Scheduler53

2.5.3 时间线54

2.5.4 逻辑更新优先级55

2.5.5 性能问题56

2.6 Cocos2d-x的主线程56

2.6.1 在主线程中执行异步处理57

2.6.2 纹理的异步加载58

2.6.3 异步处理的单元测试60

2.7 本章小结60

第3章 OpenGL ES 2.0概览62

3.1 图形处理器简介62

3.2 什么是OpenGLES63

3.3 OpenGLES 2.0渲染管线64

3.3.1 顶点数组65

3.3.2 顶点着色器66

3.3.3 图元装配66

3.3.4 光栅化69

3.3.5 片段着色器70

3.3.6 片段测试70

3.4 渲染管线中的并行计算71

3.5 构建高性能的渲染引擎72

3.6 帧缓冲73

3.7 本章小结74

第4章 全新的绘制系统76

4.1 新绘制系统的特点76

4.2 绘制系统概览77

4.3 RenderCommand79

4.4 RenderQueue80

4.5 GroupCommand81

4.6 Render84

4.6.1 RenderCommand的排序84

4.6.2 QuadCommand85

4.7 元素的可见性87

4.8 绘制的时机89

4.9 示例:自定义RenderCommand91

4.10 本章小结95

第5章 纹理96

5.1 光栅化96

5.1.1 多重采样97

5.1.2 纹理坐标98

5.2 像素矩形99

5.2.1 像素存储模式99

5.2.2 纹理数据的传输99

5.2.3 解包100

5.3 客户端图像格式103

5.3.1 纹理格式的对应关系104

5.3.2 图像数据格式转换105

5.4 纹理对象和加载纹理107

5.5 纹理单元与多重纹理109

5.6 纹理缩放110

5.6.1 纹理缩小110

5.6.2 纹理放大111

5.6.3 在Cocos2d-x中设置过滤模式112

5.7 多级纹理113

5.7.1 多级纹理过滤模式113

5.7.2 多级纹理的上传114

5.7.3 多级纹理的生成115

5.8 纹理压缩116

5.8.1 压缩纹理的特点116

5.8.2 压缩纹理的实现117

5.8.3 在Cocos2d-x中使用压缩纹理118

5.8.4 PVRTC和PVRTC2120

5.8.5 ETC122

5.8.6 针对不同设备使用不同的压缩纹理123

5.9 纹理缓存管理123

5.9.1 纹理的生命周期124

5.9.2 用TextureCache来管理纹理125

5.9.3 场景过渡中的资源管理127

5.9.4 Android下的纹理恢复处理130

5.10 纹理所占内存的计算131

5.11 使用纹理最佳实践133

5.11.1 硬件层面133

5.11.2 程序层面133

5.11.3 资源层面134

5.12 本章小结135

第6章 精灵137

6.1 用Sprite绘制一个矩形区域137

6.1.1 V3F_C4B_T2F_Quad结构体138

6.1.2 使用QuadCommand进行绘制139

6.1.3 将Sprite作为子元素140

6.2 Sprite的绘制属性140

6.2.1 颜色混合141

6.2.2 颜色叠加144

6.3 Alpha预乘148

6.4 精灵表150

6.5 精灵动画152

6.6 批绘制还是自动批绘制154

6.6.1 SpriteBatchNode154

6.6.2 TextureAtlas156

6.6.3 SpriteBatchNode的特点和限制157

6.7 部分拉伸:九宫格157

6.8 本章小结158

第7章 OpenGL ES着色语言161

7.1 概览161

7.2 基础类型162

7.2.1 空类型163

7.2.2 布尔类型163

7.2.3 整型163

7.2.4 浮点型163

7.2.5 矢量164

7.2.6 矩阵164

7.2.7 采样器164

7.2.8 结构体165

7.2.9 数组165

7.3 存储限定符166

7.3.1 默认限定符167

7.3.2 常量限定符167

7.3.3 属性限定符167

7.3.4 全局限定符168

7.3.5 易变量限定符169

7.4 构造器170

7.4.1 标量的转换构造170

7.4.2 矢量和矩阵构造器171

7.4.3 结构体构造器172

7.5 矢量的分量173

7.6 矩阵的分量174

7.7 结构体和成员174

7.8 矢量和矩阵操作符175

7.9 本章小结176

第8章 OpenGL ES着色程序177

8.1 顶点和顶点数组177

8.1.1 图元与顶点178

8.1.2 顶点属性状态178

8.1.3 顶点数组180

8.2 顶点缓冲对象185

8.2.1 顶点数组缓冲对象187

8.2.2 索引数组缓冲对象188

8.2.3 使用VAO缓存顶点数组状态190

8.3 着色器程序192

8.3.1 着色器程序字符串192

8.3.2 着色器的加载和编译193

8.3.3 着色器程序对象195

8.4 Cocos2d-x着色器子系统196

8.4.1 GLProgram与Node之间的关系197

8.4.2 GLProgramState199

8.4.3 着色器程序的使用过程202

8.4.4 GLProgramState的管理204

8.4.5 GLProgramState的限制205

8.5 顶点着色器206

8.5.1 输入参数206

8.5.2 顶点坐标输出参数207

8.5.3 易变量输出参数208

8.6 片段着色器209

8.6.1 输入参数210

8.6.2 纹理采样210

8.6.3 输出参数211

8.7 着色器编辑工具211

8.8 示例213

8.8.1 使用ETC压缩纹理214

8.8.2 动态设置着色器参数217

8.9 着色器程序最佳实践220

8.10 本章小结220

第9章 帧缓冲223

9.1 GroupCommand223

9.1.1 使用GroupCommand的流程224

9.1.2 GroupCommand的限制225

9.2 帧缓冲226

9.2.1 绑定和管理帧缓冲227

9.2.2 将图像附加到帧缓冲228

9.2.3 渲染缓冲对象228

9.2.4 将Renderbuffer附加到帧缓冲230

9.2.5 将Texture附加到帧缓冲230

9.2.6 帧缓冲完成状态231

9.3 RenderTexture234

9.3.1 RenderTexture的初始化235

9.3.2 RenderTexture的绘制238

9.3.3 ReadPixels239

9.3.4 RenderTexture的限制及用途240

9.4 本章小结240

第10章 片段操作242

10.1 片段操作简述242

10.2 逻辑缓冲区243

10.2.1 位平面244

10.2.2 按位计算245

10.3 片段测试248

10.3.1 模板测试248

10.3.2 深度测试250

10.3.3 模板测试的步骤251

10.3.4 片段测试的用途252

10.4 全缓冲区操作254

10.4.1 控制缓冲区的更新254

10.4.2 清理缓冲区254

10.5 ClippingNode255

10.5.1 ClippingNode的绘制流程255

10.5.2 ClippingNode的模板测试分析256

10.6 本章小结258

第11章 多分辨率支持259

11.1 概述259

11.2 设计分辨率260

11.2.1 缩放策略261

11.2.2 调整元素位置262

11.2.3 几个有用的变量263

11.2.4 使用屏幕分辨率264

11.2.5 视口设置264

11.2.6 什么时候缩放了265

11.3 资源分辨率267

11.3.1 资源分辨率的设置267

11.3.2 真实分辨率InPixels268

11.3.3 什么时候缩放资源269

11.4 本章小结270

第12章 事件分发272

12.1 概述272

12.1.1 什么是事件272

12.1.2 事件的工作机制272

12.1.3 事件系统的特点273

12.2 订阅者274

12.2.1 事件类型275

12.2.2 注册与管理订阅者276

12.3 事件的分发278

12.3.1 订阅者的排序280

12.3.2 嵌套事件282

12.3.3 在事件分发中修改订阅者282

12.3.4 停止分发事件283

12.4 事件与Node284

12.4.1 暂停与恢复284

12.4.2 删除订阅者285

12.5 触摸事件285

12.5.1 EventListenerTouchAllAtOnce286

12.5.2 EventListenerTouchOneByOne286

12.5.3 单点和多点触摸之间的关系288

12.5.4 触摸点的位置判断288

12.5.5 可见性与触摸事件289

12.6 其他289

12.6.1 其他操作系统事件290

12.6.2 EventCustom290

12.6.3 内存管理290

12.6.4 回调与返回值291

12.6.5 单元测试291

12.6.6 其他事件291

12.7 本章小结292

第13章 字体的故事293

13.1 计算机字体的历史293

13.2 轮廓字形概述294

13.2.1 点295

13.2.2 轮廓295

13.2.3 轮廓的方向296

13.2.4 轮廓的交叉296

13.2.5 混合轮廓字形296

13.2.6 字形格子297

13.3 FreeType字体引擎297

13.3.1 字体文件及字形索引298

13.3.2 字符度量298

13.3.3 FreeType字形解析过程299

13.3.4 FreeType字形装载301

13.4 FontAtlas304

13.4.1 Font305

13.4.2 FontAtlasCache308

13.5 Label309

13.5.1 通用属性310

13.5.2 Font字符集312

13.5.3 轮廓字体的缩放312

13.5.4 特效316

13.6 使用字体的最佳实践319

第14章 动画系统321

14.1 概述321

14.2 线性插值323

14.2.1 标量插值323

14.2.2 矢量插值323

14.2.3 变换矩阵插值324

14.2.4 插值在动画系统中的运用324

14.3 给元素添加动画326

14.3.1 Action是一个自描述的对象326

14.3.2 在Node上执行动画327

14.3.3 控制动画的动画329

14.4 动画系统架构331

14.4.1 Speed333

14.4.2 缓动函数333

14.4.3 自定义动画——精灵闪白334

14.5 本章小结337

第15章 碰撞及物理引擎339

15.1 物理引擎概述339

15.2 碰撞检测系统340

15.2.1 刚体340

15.2.2 接触和碰撞343

15.2.3 碰撞查询348

15.3 刚体动力学349

15.3.1 控制刚体的运动349

15.3.2 碰撞响应350

15.3.3 约束351

15.4 整合物理引擎352

15.4.1 刚体与可视对象352

15.4.2 物理世界355

15.4.3 游戏循环阶段357

15.5 预处理与工具357

15.6 本章小结358

第16章 运行时游戏对象模型360

16.1 概述360

16.2 运行时游戏对象模型361

16.2.1 以对象为中心的架构362

16.2.2 组件模型364

16.2.3 以属性为中心的架构367

16.3 Entity Component System369

16.3.1 属性结构370

16.3.2 分离数据与行为371

16.3.3 数据驱动372

16.4 对象查询与消息通信373

16.4.1 根据唯一标识符查询374

16.4.2 根据类型查询375

16.4.3 面向类型编程375

16.4.4 游戏对象数据库376

16.5 实时更新游戏对象377

16.5.1 更新的性能优化377

16.5.2 更新的时序377

16.6 本章小结379

第17章 Genius-x开源框架381

17.1 Genius-x是什么381

17.1.1 Genius-x架构一览382

17.1.2 Genius-x项目结构及使用384

17.2 游戏对象模型385

17.2.1 Entity385

17.2.2 Component388

17.2.3 System391

17.2.4 ECSManager394

17.2.5 数据驱动397

17.2.6 NodeCom399

17.2.7 对象的层级结构403

17.3 数据格式、加载及串流403

17.3.1 数据格式404

17.3.2 文件加载和管理405

17.3.3 游戏世界的串流406

17.4 游戏通用系统407

17.5 共享组件409

17.6 示例409

第18章 脚本411

18.1 脚本的概念411

18.1.1 脚本语言的特征412

18.1.2 Lua脚本语言412

18.1.3 脚本所需的架构413

18.2 运行时脚本语言的功能415

18.2.1 对原生编程语言的接口415

18.2.2 游戏对象句柄416

18.2.3 在脚本中接收及处理事件423

18.2.4 发送事件427

18.2.5 面向对象脚本语言427

18.3 Lua bindings430

18.3.1 生成绑定代码430

18.3.2 在程序中使用绑定代码431

18.3.3 自定义绑定432

18.4 在Lua中使用Genius-x433

18.4.1 配置环境433

18.4.2 创建Component脚本433

18.4.3 创建System脚本434

18.4.4 其他接口435

18.5 本章小结435

参考文献437

热门推荐