当前位置:首页 > 工业技术
Cocos2d-X 3.0游戏开发实战详解
Cocos2d-X 3.0游戏开发实战详解

Cocos2d-X 3.0游戏开发实战详解PDF电子书下载

工业技术

  • 电子书积分:17 积分如何计算积分?
  • 作 者:吴亚峰,闫敬,于复兴编著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2014
  • ISBN:9787115369062
  • 页数:576 页
图书介绍:本书用过详细的实例讲解了Cocos2d-x这个开源的移动2D游戏框架,重点是围绕Cocos2d跨平台讲解。具体包括Cocos2d-x提供的框架、手机游戏,以及使用API使Cocos2d完全兼容iOS、Android操作系统。本书讲解详细,通俗易懂,读者可以很容易把学习的开发技术应用到实战中。
《Cocos2d-X 3.0游戏开发实战详解》目录

第1章 初识庐山真面目——Cocos2d-x 1

1.1 Cocos2d-x概述 1

1.1.1 Cocos2d-x的前世今生 1

1.1.2 初见Cocos2d-x 1

1.1.3 Cocos2d-x市场前景 2

1.2 Android SDK的下载及配置 3

1.2.1 Android SDK的下载 3

1.2.2 Android SDK的配置 4

1.3 Cygwin的下载及安装 5

1.3.1 Cygwin的下载 5

1.3.2 Cygwin的安装 6

1.4 Android NDK的下载及配置 8

1.5 Cocos2d-x的下载及配置 9

1.6 Android项目的导入与创建 10

1.6.1 简单案例HelloCocos2dX的导入与运行 10

1.6.2 Cocos2d案例导入后的相关修改 13

1.6.3 创建自己的Android项目 14

1.6.4 项目结构的介绍 18

1.7 iOS项目的创建及开发 19

1.7.1 iOS项目的创建 20

1.7.2 iOS项目的开发 22

1.8 本章小结 24

第2章 千里之行,始于足下——Cocos2d-x基础 25

2.1 Cocos2d-x中的一些基本概念 25

2.1.1 几个重要的基本概念 25

2.1.2 导演类——Director 26

2.1.3 节点类——Node 28

2.1.4 两个辅助类Point和Size 34

2.1.5 场景类——Scene 36

2.1.6 布景类——Layer 37

2.2 精灵类——Sprite 38

2.2.1 精灵类的基础知识 38

2.2.2 精灵类简单案例的开发 39

2.3 海量精灵的性能问题 43

2.3.1 一个创建海量精灵的案例 43

2.3.2 SpriteBatchNode类的基础知识 45

2.3.3 用SpriteBatchNode类创建海量精灵的案例 46

2.4 Cocos2d-x中的基本控件 47

2.4.1 基础知识 47

2.4.2 一个简单的案例 58

2.5 基本动作类 62

2.5.1 基础知识 62

2.5.2 移动相关动作 63

2.5.3 自身变换相关动作 67

2.5.4 颜色变化相关动作 70

2.5.5 瞬时动作 72

2.5.6 组合动作 74

2.6 换帧精灵 77

2.6.1 相关类的基础知识 77

2.6.2 一个简单的案例 80

2.6.3 精灵帧缓冲相关类基础知识 83

2.6.4 简单案例的帧缓冲版 87

2.7 资源图片的异步加载 88

2.7.1 基础知识 88

2.7.2 一个简单案例的开发 89

2.8 简单的骨骼动画 92

2.8.1 基本原理 92

2.8.2 一个简单的案例 93

2.9 Scale9精灵 96

2.9.1 Scale9精灵基础知识 96

2.9.2 一个简单的案例 99

2.10 本章小结 101

第3章 让你的游戏更有吸引力——动作特效与场景切换特效 102

3.1 动作特效的使用 102

3.1.1 3D振动特效 102

3.1.2 3D瓦片振动特效 105

3.1.3 3D瓦片碎裂特效 106

3.1.4 爆炸特效 108

3.1.5 瓦片消失特效 109

3.1.6 3D瓦片跳跃特效 111

3.1.7 切开行特效 112

3.1.8 切开列特效 113

3.1.9 3D翻页特效 115

3.1.10 3D波浪特效 116

3.1.11 3D瓦片波浪特效 118

3.1.12 3D鱼眼特效 119

3.1.13 3D水波涟漪特效 120

3.1.14 流体特效 122

3.1.15 顶右淡出特效 123

3.1.16 底左淡出特效 125

3.1.17 向上淡出特效 126

3.1.18 向下淡出特效 127

3.1.19 3D绕x轴旋转特效 129

3.1.20 3D绕y轴旋转特效 130

3.1.21 可扭曲波浪特效 131

3.1.22 旋转扭曲特效 133

3.2 百分比动作特效 135

3.2.1 百分比动作的基础知识 135

3.2.2 ProgressTimer类的基础知识 135

3.2.3 半径模式特效 136

3.2.4 水平模式特效 138

3.2.5 垂直模式特效 139

3.3 场景切换特效的使用 141

3.3.1 场景切换特效概览 141

3.3.2 跳跃切换特效 143

3.3.3 逆时针和顺时针切换特效 143

3.3.4 水平和垂直切换特效 144

3.3.5 从内向外和从外向内切换特效 144

3.3.6 淡出和可变色淡出切换特效 145

3.3.7 翻页切换特效 146

3.3.8 方向淡化切换特效 147

3.3.9 瓦片消失切换特效 148

3.3.10 列分割和行分割切换特效 148

3.3.11 绕定轴翻转切换特效 148

3.3.12 可缩放绕指定轴翻转切换特效 149

3.3.13 缩放和旋转切换特效 150

3.3.14 下一场景移动覆盖原场景切换特效 151

3.3.15 下一场景滑至出现切换特效 152

3.3.16 场景切换特效综合案例 153

3.4 本章小结 159

第4章 更逼真的视觉效果——粒子系统 160

4.1 内置粒子系统的使用 160

4.1.1 内置粒子系统概览 160

4.1.2 炙热的太阳效果 163

4.1.3 焰火效果 165

4.1.4 火焰效果 166

4.1.5 星系效果 167

4.1.6 绽放效果 168

4.1.7 流星效果 170

4.1.8 螺旋效果 171

4.1.9 爆炸效果 172

4.1.10 烟雾效果 173

4.1.11 下雪效果 174

4.1.12 下雨效果 176

4.2 加载plist粒子系统 177

4.2.1 粒子设计器的使用 177

4.2.2 粒子系统的位置类型 180

4.2.3 加载plist文件 180

4.3 本章小结 182

第5章 必知必会的开发技术——杂项 183

5.1 2D图元的绘制 183

5.2 触控及多点触控 186

5.2.1 基础知识 186

5.2.2 单点触控的案例 188

5.2.3 多点触控的案例 191

5.3 百纳游戏摇杆 195

5.3.1 基本知识 195

5.3.2 一个简单的案例 196

5.4 重力传感器的使用 203

5.5 键盘事件的处理 206

5.6 用户数据的存储 208

5.7 声音的播放 212

5.8 在Cocos2d-x中使用多线程 216

5.9 文件输入/输出 219

5.10 网络功能的开发 222

5.10.1 连接HTTP网络服务器 222

5.10.2 连接WebSocket服务器 226

5.11 多分辨率屏幕的自适应 230

5.11.1 非等比例缩放 230

5.11.2 等比例缩放并裁剪 231

5.11.3 等比例缩放并留白 232

5.11.4 Cocos2d-x中的实现 233

5.12 本章小结 234

第6章 绚丽的地图设计——TMX瓦片地图 235

6.1 正方形瓦片地图 235

6.1.1 应用正方形瓦片地图的实例 235

6.1.2 正方形地图的基本原理 235

6.1.3 正方形地图的特点 236

6.1.4 正方形地图的实现原理 236

6.1.5 正方形瓦片地图设计器 236

6.1.6 TMX瓦片地图的相关类 241

6.2 正方形瓦片地图案例 243

6.2.1 正方形地图案例概览 244

6.2.2 程序的总管AppDelegate类的开发 244

6.2.3 场景管理类TilesMapSimpleSceneManager的开发 245

6.2.4 布景层类TilesMapSimpleLayer的开发 246

6.2.5 英雄精灵动画的开发 248

6.2.6 控制英雄移动工具类DirectionUtil的开发 249

6.2.7 案例控制层类ControlLayer基本框架的搭建 250

6.2.8 案例控制层类ControlLayer中各控制方法的开发 251

6.3 正六边形瓦片地图 254

6.3.1 正六边形地图的原理及特点 254

6.3.2 正六边形地图的设计 256

6.3.3 正六边形地图的导入案例 258

6.4 正六边形地图的路径搜索 260

6.4.1 路径搜索示例基本框架的搭建 260

6.4.2 深度优先路径搜索算法DFS 267

6.4.3 深度优先路径搜索算法DFS的实现 268

6.4.4 广度优先路径搜索算法BFS 274

6.4.5 广度优先路径搜索算法BFS的实现 275

6.4.6 Diikstra路径搜索算法 276

6.4.7 Diikstra路径搜索算法的实现 277

6.4.8 用A*思想优化广度优先路径搜索 282

6.4.9 用A*思想优化Diikstra路径搜索 284

6.5 本章小结 285

第7章 游戏开发的核心——Box2D物理引擎 286

7.1 物理引擎很重要 286

7.1.1 什么是物理引擎 286

7.1.2 常见的物理引擎 286

7.2 2D的王者Box2D 289

7.2.1 基本的物理学概念 289

7.2.2 Box2D中常用类的介绍 290

7.3 木块金字塔被撞击案例 301

7.3.1 案例运行效果 301

7.3.2 案例的基本框架结构 301

7.3.3 常量头文件——Constant头文件 302

7.3.4 物体类——PhyObject类 303

7.3.5 圆形物体类——CirclePhyObject类 304

7.3.6 矩形物体类——RectPhyObject类 305

7.3.7 多边形物体类——PolygonObject类 306

7.3.8 场景类——Box2DSceneManager类 307

7.3.9 布景类——Box2DLayer类 308

7.4 简易打砖块案例 310

7.4.1 案例运行效果 310

7.4.2 需要了解的结构体与类 311

7.4.3 碰撞监听器——MyContactListener类 314

7.4.4 布景类——Box2DLayer类 315

7.5 物体碰撞下落案例 316

7.5.1 案例运行效果 316

7.5.2 碰撞过滤器——b2ContactFilter类 317

7.5.3 碰撞过滤相关类的开发 317

7.5.4 布景类——Box2DLayer类 318

7.6 关节——Joint 319

7.6.1 关节定义——b2JointDef结构体 320

7.6.2 距离关节描述——b2DistanceJointDef结构体 320

7.6.3 距离关节案例——小球下摆 321

7.6.4 旋转关节描述——b2RevoluteJointDef结构体 325

7.6.5 旋转关节案例——转动的风扇与跷跷板 325

7.6.6 鼠标关节描述——b2MouseJointDef结构体 329

7.6.7 鼠标关节案例——物体下落 329

7.6.8 移动关节描述——b2PrismaticJointDef结构体 333

7.6.9 移动关节案例——定向移动的木块 334

7.6.10 齿轮关节描述——b2GearJointDef结构体 338

7.6.11 齿轮关节案例——转动的齿轮 338

7.6.12 焊接关节描述——b2WeldJointDef结构体 342

7.6.13 焊接关节案例——有弹性的木板 342

7.6.14 滑轮关节描述——b2PulleyJointDef结构体 346

7.6.15 滑轮关节案例——移动的木块 347

7.6.16 车轮关节描述——b2WheelJointDef结构体 350

7.6.17 车轮关节案例——运动的小车 351

7.6.18 绳索关节描述——b2RopeJointDef结构体 356

7.6.19 绳索关节案例——掉落的糖果 357

7.7 模拟传送带案例 361

7.7.1 案例运行效果 361

7.7.2 碰撞监听器——MyContactListener类 361

7.7.3 布景类——Box2DLayer类 363

7.8 光线投射案例 365

7.8.1 案例运行效果 365

7.8.2 b2RayCastInput结构体与b2RayCastOutput结构体 365

7.8.3 光线检测类——MyRayCast类 366

7.8.4 布景类——Box2DLayer类 368

7.9 模拟爆炸案例 370

7.9.1 案例运行效果 370

7.9.2 光线投射回调类——b2RayCastCallback类 371

7.9.3 自身的光线投射回调类——RayCastClosestCallback类 371

7.9.4 布景类——Box2DLayer类 371

7.10 LiquidFun流体物理引擎 374

7.10.1 LiquidFun流体物理引擎的相关知识 374

7.10.2 波浪制造机案例 377

7.10.3 软体案例 381

7.11 本章小结 383

第8章 更加丰富的游戏功能——扩展2D控件 384

8.1 UI系列控件 384

8.1.1 基础知识 384

8.1.2 fnt字体文件的制作 393

8.1.3 几个简单的案例 394

8.2 Control系列控件 406

8.2.1 基础知识 406

8.2.2 几个简单的案例 410

8.3 EditBox控件 414

8.3.1 基础知识 414

8.3.2 一个简单的使用案例 416

8.4 TableView控件 419

8.4.1 基础知识 419

8.4.2 表格控件的使用案例 421

8.5 本章小结 425

第9章 开发游戏的利器——Lua的使用 426

9.1 概述 426

9.2 Lua脚本语言简介 427

9.2.1 简易性 427

9.2.2 高效性 428

9.2.3 可扩展性 428

9.2.4 可移植性 428

9.3 Lua脚本语言的基本语法 429

9.3.1 数值与类型 429

9.3.2 表达式 430

9.3.3 语句 433

9.3.4 函数 436

9.4 使用Lua搭建场景的案例 438

9.5 使用Lua调用C++的案例 443

9.6 本章小结 446

第10章 便捷的游戏开发工具——CocoStudio 447

10.1 CocoStudio的下载及安装 447

10.1.1 CocoStudio的下载 447

10.1.2 CocoStudio的安装 448

10.2 动画编辑器的使用及相关文件的加载 449

10.2.1 用动画编辑器制作骨骼动画 449

10.2.2 用动画编辑器制作换帧动画 453

10.2.3 加载及使用动画的相关知识 455

10.2.4 一个简单案例的开发 457

10.3 控件编辑器的使用及相关文件的加载 460

10.3.1 控件编辑器的使用 460

10.3.2 加载及使用控件的相关知识 464

10.3.3 一个简单案例的开发 465

10.4 场景编辑器的使用及相关文件的加载 468

10.4.1 场景编辑器的使用 468

10.4.2 加载及使用场景的相关知识 472

10.4.3 一个简单案例的开发 473

10.5 数据编辑器的使用及相关文件的加载 475

10.5.1 数据编辑器的使用 475

10.5.2 数据获取的相关知识 477

10.5.3 一个简单案例的开发 478

10.6 本章小结 480

第11章 综合案例——让子弹飞 481

11.1 游戏的背景及功能概述 481

11.1.1 游戏开发背景概述 481

11.1.2 游戏功能简介 481

11.2 游戏的策划及准备工作 483

11.2.1 游戏的策划 483

11.2.2 Android平台下游戏开发的准备工作 484

11.3 游戏的架构 486

11.3.1 各个类的简要介绍 486

11.3.2 游戏框架简介 488

11.4 布景相关类 489

11.4.1 场景管理类BulletsSceneManager 489

11.4.2 欢迎布景类LoadLayer 490

11.4.3 菜单布景类MenuLayer 493

11.4.4 排行榜布景类RankLayer 494

11.4.5 关于布景类AboutLayer 496

11.4.6 帮助布景类HelpLayer 497

11.4.7 游戏布景类BulletsLayer 499

11.5 游戏开发的辅助类 517

11.5.1 普通飞机辅助类NormalPlane 517

11.5.2 大飞机辅助类BigPlane 518

11.5.3 道具辅助类Property 518

11.6 工具及常量类 519

11.7 引擎引用入口类——AppDelegate 521

11.8 游戏的优化及改进 523

第12章 综合案例——泡泡龙游戏 524

12.1 游戏的背景及功能概述 524

12.1.1 游戏开发的背景概述 524

12.1.2 游戏的功能介绍 525

12.2 游戏的策划及准备工作 527

12.2.1 游戏的策划 527

12.2.2 iOS平台下游戏的准备工作 528

12.3 游戏的架构 530

12.3.1 游戏中各类的简要介绍 530

12.3.2 游戏的框架简介 531

12.4 游戏常量头文件——AppMacros 532

12.5 场景相关类 533

12.5.1 游戏场景管理类——ShootBubbleSceneManager 534

12.5.2 主场景布景类——StartLayer 536

12.5.3 选关布景类——ChooseGKLayer 540

12.5.4 游戏布景类——ShootBubbleLayer 543

12.5.5 帮助布景类——HelpLayer 567

12.5.6 排行榜布景类——JFBLayer 570

12.5.7 关于布景类——AboutUSLayer 573

12.6 引擎引用入口类——AppDelegate 575

12.7 游戏的优化及改进 576

12.8 本章小结 576

返回顶部