《Cocos2d-x学习笔记 完全掌握C API与游戏项目开发》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:赵志荣,关东升著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2016
  • ISBN:9787302427414
  • 页数:354 页
图书介绍:本书系统介绍了CocoStudio的游戏编辑器,UI编辑器、动画编辑器、场景编辑器、数据编辑器,用于处理游戏中的动画资源、UI界面、游戏场景、游戏数据。 适合作为手机游戏开发人员的参考工具书。

第1章 本书约定 1

1.1 使用实例代码 1

1.2 图示的约定 2

1.2.1 图中的箭头 3

1.2.2 图中的手势 3

1.2.3 图中的圈框 3

1.3 书中的UML图 4

1.3.1 类图 4

1.3.2 时序图 5

第2章 Cocos2d-x环境搭建 6

2.1 下载Cocos2d-x 6

2.2 搭建环境 7

2.2.1 基本工具安装 7

2.2.2 设置环境变量 10

2.3 开发Cocos2d-x游戏的IDE工具 11

2.3.1 使用Visual Studio开发工具 12

2.3.2 使用Xcode开发工具 14

本章小结 17

第3章 Cocos2d-x引擎 18

3.1 Cocos2d家谱 18

3.2 Cocos2d-x设计目标 19

3.3 第一个Cocos2d-x游戏 20

3.3.1 创建工程 21

3.3.2 Visual Studio工程文件结构 22

3.3.3 Xcode工程文件结构 22

3.3.4 代码解释 24

3.3.5 Win32平台下设置屏幕 30

3.3.6 工程中添加资源文件 31

3.4 Cocos2d-x核心概念 33

3.4.1 导演 33

3.4.2 场景 33

3.4.3 层 34

3.5 Node与Node层级架构 35

3.5.1 Node中的重要操作 36

3.5.2 Node中的重要属性 37

3.5.3 游戏循环与调度 39

3.6 Cocos2d-x坐标系 41

3.6.1 UI坐标 41

3.6.2 OpenGL坐标 41

3.6.3 世界坐标和模型坐标 42

本章小结 46

第4章 游戏中的文字 47

4.1 Cocos2d-x中的字符串 47

4.1.1 使用const char*和std::string 47

4.1.2 使用cocos2d::_String 48

4.1.3 Win32平台下的中文乱码问题 49

4.2 使用标签 50

4.2.1 使用Label类 51

4.2.2 标签中文无法正常显示的问题 54

4.3 位图字体制作 56

4.3.1 Glyph Designer工具 57

4.3.2 使用Glyph Designer制作位图字体 58

本章小结 62

第5章 Cocos2d-x中的数据结构 63

5.1 Cocos2d-x中两大类——Ref和Value 63

5.1.1 Cocos2d-x根类——Ref 64

5.1.2 包装类Value 64

5.2 Ref列表数据结构 66

5.2.1 _Array数据结构 66

5.2.2 实例:_Array数据结构 67

5.2.3 Vector<T>数据结构 70

5.2.4 实例:Vector数据结构 72

5.3 Ref字典数据结构 75

5.3.1 _Dictionary数据结构 75

5.3.2 实例:_Dictionary数据结构 76

5.3.3 Map<K,V>数据结构 80

5.3.4 实例:Map<K,V>数据结构 81

5.4 Value列表数据结构——ValueVector 84

5.4.1 ValueVector常用API 84

5.4.2 实例:使用ValueVector数据结构 85

5.5 Value字典数据结构——ValueMap和ValueMapIntKey 87

5.5.1 ValueMap和ValueMapIntKey常用API 88

5.5.2 实例:使用ValueMap数据结构 89

本章小结 92

第6章 菜单 93

6.1 菜单相关类 93

6.2 文本菜单 94

6.3 精灵菜单和图片菜单 96

6.4 开关菜单 99

本章小结 101

第7章 精灵 102

7.1 Sprite精灵类 102

7.1.1 创建Sprite精灵对象 102

7.1.2 实例:使用纹理对象创建Sprite对象 103

7.2 精灵的性能优化 105

7.2.1 使用纹理图集 105

7.2.2 使用精灵帧缓存 108

7.3 纹理图集制作 111

7.3.1 TexturePacker工具 111

7.3.2 使用TexturePacker制作纹理图集 113

本章小结 116

第8章 场景与层 117

8.1 场景与层的关系 117

8.2 场景切换 118

8.2.1 场景切换相关函数 118

8.2.2 场景过渡动画 123

8.3 场景的生命周期 124

8.3.1 生命周期函数 125

8.3.2 多场景切换生命周期 126

本章小结 128

第9章 动作和动画 129

9.1 基本动作 129

9.1.1 瞬时动作 130

9.1.2 间隔动作 136

9.1.3 组合动作 143

9.1.4 动作速度控制 149

9.1.5 函数调用 154

9.2 特效 159

9.2.1 网格动作 159

9.2.2 实例:特效演示 160

9.3 动画 164

9.3.1 帧动画 164

9.3.2 实例:帧动画使用 165

本章小结 168

第10章 用户事件 169

10.1 事件处理机制 169

10.1.1 事件分发器 170

10.1.2 触摸事件 171

10.1.3 实例:单点触摸事件 173

10.1.4 实例:使用Lambda表达式 177

10.1.5 键盘事件 180

10.1.6 鼠标事件 180

10.2 在层中进行事件处理 182

10.2.1 触摸事件 183

10.2.2 实例:单点触摸事件 184

10.3 加速度计与加速度事件 187

10.3.1 加速度计 187

10.3.2 使用事件分发器 188

10.3.3 使用层加速度计事件 189

10.3.4 实例:运动的小球 189

本章小结 192

第11章 Audio引擎 193

11.1 Cocos2d-x中音频文件 193

11.1.1 音频文件介绍 193

11.1.2 Cocos2d-x跨平台音频支持 194

11.2 使用Audio引擎 195

11.2.1 音频文件的预处理 195

11.2.2 播放背景音乐 196

11.2.3 停止播放背景音乐 198

11.2.4 背景音乐播放暂停与继续 199

11.3 实例:设置背景音乐与音效 200

11.3.1 AppDelegate实现 200

11.3.2 HelloWorld场景实现 202

11.3.3 设置场景实现 205

本章小结 209

第12章 粒子系统 210

12.1 问题的提出 210

12.2 粒子系统基本概念 211

12.2.1 实例:打火机 211

12.2.2 粒子发射模式 213

12.2.3 粒子系统属性 213

12.3 Cocos2d-x内置粒子系统 216

12.3.1 内置粒子系统 216

12.3.2 实例:内置粒子系统 216

12.4 自定义粒子系统 220

12.4.1 代码创建 220

12.4.2 plist文件创建 223

12.5 粒子系统设计工具Particle Designer 226

12.5.1 粒子设置面板 227

12.5.2 使用分享案例 228

12.5.3 粒子的输出 228

本章小结 229

第13章 瓦片地图 230

13.1 地图性能问题 230

13.2 Cocos2d-x中瓦片地图API 233

13.3 使用Tiled地图编辑器 234

13.3.1 新建地图 238

13.3.2 导入瓦片集 239

13.3.3 创建层 240

13.3.4 在普通层上绘制地图 242

13.3.5 在对象层上添加对象 244

13.4 实例:忍者无敌 246

13.4.1 设计地图 247

13.4.2 程序中加载地图 248

13.4.3 移动精灵 250

13.4.4 检测碰撞 252

13.4.5 滚动地图 257

本章小结 260

第14章 物理引擎 261

14.1 使用物理引擎 262

14.1.1 物理引擎核心概念 262

14.1.2 物理引擎与精灵关系 263

14.2 Cocos2d-x 3.x中物理引擎封装 264

14.2.1 Cocos2d-x 3.x物理引擎API 264

14.2.2 实例:HelloPhysicsWorld 268

14.2.3 实例:接触与碰撞检测 272

14.2.4 实例:使用关节 276

本章小结 279

第15章 内存管理 280

15.1 C++内存管理 280

15.1.1 内存分配区域 280

15.1.2 动态内存分配 281

15.2 Ref内存管理 283

15.2.1 内存引用计数 284

15.2.2 自动释放池 285

15.2.3 Ref内存管理规则 288

15.3 Ref内存管理设计模式 290

15.3.1 使用静态构造函数 290

15.3.2 使用访问器 293

15.4 其他类型内存管理 298

15.4.1 Value内存管理 298

15.4.2 Vector<T>和Map<K,V>内存管理 298

本章小结 298

第16章 Cocos2d-x多分辨率屏幕适配 299

16.1 屏幕适配问题的提出 299

16.2 Cocos2d-x屏幕适配 300

16.2.1 三种分辨率 300

16.2.2 分辨率策略 302

16.2.3 纹理图集资源适配 305

16.2.4 瓦片地图资源适配 307

本章小结 307

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

17.1 迷失航线游戏分析与设计 308

17.1.1 迷失航线故事背景 308

17.1.2 需求分析 308

17.1.3 原型设计 309

17.1.4 游戏脚本 310

17.2 任务1:游戏工程的创建与初始化 311

17.2.1 迭代1.1:创建工程 311

17.2.2 迭代1.2:多分辨率支持 311

17.2.3 迭代1.3:通用类与基类维护 313

17.3 任务2:创建Loading场景 317

17.3.1 迭代2.1:添加场景和层 317

17.3.2 迭代2.2:Loading动画 318

17.3.3 迭代2.3:异步加载纹理缓存 319

17.3.4 迭代2.4:异步预处理声音 320

17.4 任务3:创建Home场景 321

17.4.1 迭代3.1:添加场景和层 321

17.4.2 迭代3.2:添加菜单 323

17.5 任务4:创建设置场景 325

17.6 任务5:创建帮助场景 327

17.7 任务6:游戏场景实现 330

17.7.1 迭代6.1:创建敌人精灵 330

17.7.2 迭代6.2:创建玩家飞机精灵 335

17.7.3 迭代6.3:创建炮弹精灵 337

17.7.4 迭代6.4:初始化游戏场景 339

17.7.5 迭代6.5:游戏场景菜单实现 343

17.7.6 迭代6.6:玩家飞机发射炮弹 345

17.7.7 迭代6.7:炮弹与敌人的碰撞检测 346

17.7.8 迭代6.8:玩家飞机与敌人的碰撞检测 349

17.7.9 迭代6.9:玩家飞机生命值显示 352

17.7.10 迭代6.10:显示玩家得分情况 352

17.8 任务7:游戏结束场景 353

本章小结 354