当前位置:首页 > 工业技术
Cocos2D-X游戏开发技术精解
Cocos2D-X游戏开发技术精解

Cocos2D-X游戏开发技术精解PDF电子书下载

工业技术

  • 电子书积分:14 积分如何计算积分?
  • 作 者:刘剑卓著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2013
  • ISBN:9787115314840
  • 页数:403 页
图书介绍:本书将详细介绍使用Cocos2D-X进行游戏开发的方方面面。凭借来自官方的支持,本书将会介绍一些内部技术与资料。读者将会了解到Cocos2D-X引擎中的每一个内容,再配上丰富的示例项目,掌握实际开发技能和技巧。
《Cocos2D-X游戏开发技术精解》目录

第1章 Cocos2D-X引擎的介绍 1

1.1 何为游戏引擎 1

1.1.1 游戏的核心一引擎 1

1.1.2 引擎的特点 2

1.1.3 知名的引擎介绍 4

1.1.4 引擎的分类 5

1.2 Cocos2D-X引擎的来历 8

1.3 引擎的版本 9

1.4 下载与安装 10

1.5 引擎的组成 13

1.6 技术文档 15

1.7 成功的游戏 17

1.8 Cocos2D-X引擎的体系 18

1.9 Cocos2D-X引擎的版权声明 19

1.10 本章小结 20

第2章 Cocos2D-X引擎的开发环境 21

2.1 跨平台的开发 21

2.2 建立开发环境 23

2.2.1 PC开发环境 23

2.2.2 Android开发环境 26

2.2.3 iOS开发环境 35

2.3 引擎中的混合编译 38

2.3.1 Java与C++的混合编译 38

2.3.2 Objective-C与C++的混合编译 41

2.4 引擎的起点 42

2.4.1 应用程序入口 43

2.4.2 引擎应用入口 44

2.5 丰富的示例程序 46

2.5.1 TestCpp示例项目 46

2.5.2 脚本示例项目 47

2.5.3 MoonWarriors示例项目 47

2.6 本章小结 48

第3章 引擎的核心——渲染框架 49

3.1 基本框架 50

3.1.1 引擎的位置 50

3.1.2 根源种子 51

3.1.3 子类结构 57

3.2 渲染框架 57

3.2.1 框架结构 58

3.2.2 摄像机类(CCCamera) 59

3.2.3 导演类(CCDirector) 59

3.2.4 场景类(CCScene) 62

3.2.5 图层类(CCLayer) 64

3.2.6 精灵类(CCSprite) 68

3.2.7 精灵集合类(CCSpriteBatchNode) 72

3.2.8 精灵帧缓冲(CCSpriteFrameCache) 74

3.2.9 Zwoptex纹理编辑器 76

3.3 文字与字体 80

3.3.1 TTF类型标签(CCLabe1TTF) 81

3.3.2 BMFont标签类(CCLabelBMFont) 84

3.3.3 Atlas标签类(CCLabelAtlas) 87

3.4 菜单按钮 89

3.5 几何绘制DrawPrimitives 94

3.6 CocosBuilder编辑器 95

3.6.1 CocosBuilder使用指南 95

3.6.2 引擎中的应用 97

3.7 本章小结 98

第4章 动作功能 100

4.1 概述 100

4.2 动作基类 101

4.2.1 动作类的继承关系 102

4.2.2 动作基类CCAction的成员函数 102

4.2.3 类CCNode中与动作有关的函数 104

4.3 时间动作 105

4.3.1 即时动作 105

4.3.2 持续动作 109

4.4 组合动作类 116

4.4.1 序列动作类(CCSequence) 116

4.4.2 同步动作类(CCSpawn) 118

4.4.3 重复动作类(CCRepeat&CCRepeatForever) 119

4.5 可变速度类(CCEaseAction) 120

4.5.1 CCEaseIn、CCEaseOut和CCEaseInOut 122

4.5.2 EaseSineIn、EaseSineOut和EaseSineInOut 124

4.5.3 CCEaseBackIn、CCEaseBackOut和CCEaseBackInOut 124

4.5.4 EaseExponentialIn、EaseExponentialOut和EaseExponentialInOut 125

4.5.5 CCEaseBounceIn、CCBounceOut和CCBounceInOut 125

4.5.6 CCEaseElasticIn、CCEaseElasticOut和CCEaseElasticInOut 125

4.6 速度类(CCSpeed) 125

4.7 延迟动作类(CCDelay) 127

4.8 跟随动作类(CCFollow) 128

4.9 扩展动作类 129

4.9.1 概述 129

4.9.2 翻页动作(CCPageTum3D) 130

4.9.3 波纹动作(CCWaves3D) 130

4.9.4 格子动作类(CCGridAction) 131

4.10 动画动作类 132

4.10.1 精灵帧 133

4.10.2 精灵帧缓冲 134

4.10.3 动画类 135

4.10.4 动画动作 136

4.11 动画编辑器 136

4.11.1 概述 136

4.11.2 CocosBuilder编辑器中的精灵动画 137

4.11.3 SpriteX草莓编辑器 138

4.11.4 MotionWelder动画编辑器 139

4.12 样例程序 141

4.13 本章小结 143

第5章 用户交互 147

5.1 概述 147

5.2 玩家交互信息 149

5.3 触摸操作的处理机制 149

5.4 接收操作 153

5.5 分发机制 154

5.6 处理响应 157

5.7 多点触碰 159

5.8 加速计的响应函数 161

5.9 本章小结 162

第6章 游戏背景 164

6.1 概述 164

6.2 2D游戏背景的类型 164

6.3 砖块地图Tile Map 166

6.4 砖块地图编辑器 168

6.4.1 地图编辑器概述 168

6.4.2 Tile MapEditor(砖块地图编辑器) 169

6.4.3 制作一张游戏地图 171

6.4.4 编辑器中的属性功能 173

6.5 地图数据的格式 175

6.5.1 编辑器导出的文件 175

6.5.2 地图文件分析 176

6.6 砖块地图的实现 178

6.6.1 砖块地图类CCTMXTiledMap 179

6.6.2 地图图层类CCTMXLayer 181

6.6.3 地图物体层CCTMXObjectGroup 183

6.7 示例项目 184

6.8 背景的滚动与角色移动 186

6.9 多层背景滚动效果 188

6.10 本章小结 190

第7章 物理模拟与碰撞检测 192

7.1 概述 192

7.2 游戏中的碰撞检测 193

7.3 碰撞检测的方法 194

7.3.1 平面几何在碰撞检测中的应用 194

7.3.2 物体的包围盒 197

7.3.3 AABB碰撞检测技术 198

7.4 基本物理知识 199

7.5 你好!Box2D! 201

7.5.1 概述 201

7.5.2 物理世界 202

7.5.3 游戏中的两个世界 202

7.6 Box2D的基础知识 203

7.6.1 概述 204

7.6.2 概念定义 204

7.6.3 物理引擎的模块 205

7.7 引擎内核 205

7.7.1 基本配置 206

7.7.2 内存管理机制 207

7.7.3 工厂模式 208

7.7.4 数据单位 208

7.7.5 用户数据 209

7.8 物理世界World 210

7.8.1 创建和摧毁一个世界 210

7.8.2 让世界运转起来 211

7.8.3 探索世界 212

7.8.4 AABB查询 213

7.8.5 光线投射(Ray Casts) 214

7.9 形状Shapes 216

7.9.1 碰撞模块 216

7.9.2 形状Shape的作用 216

7.9.3 圆形(Circle Shapes) 216

7.9.4 多边形(b2PolygonShape) 217

7.10 框架Fixtures 218

7.10.1 动态模块(DynamicsModule) 219

7.10.2 框架(Fixtures) 219

7.10.3 密度(Density) 219

7.10.4 摩擦(Friction) 220

7.10.5 恢复(Restitution) 220

7.10.6 筛选(Filtering) 220

7.10.7感应器(Sensors) 221

7.11 物体Bodies 222

7.11.1 物体定义 222

7.11.2 位置和角度(Position andAngle) 223

7.11.3 阻尼(Damping) 223

7.11.4 休眠参数(Sleep Parameters) 224

7.11.5 固定旋转(Fixed Rotation) 224

7.11.6 子弹(Bullets) 224

7.11.7 活动状态(Activation) 225

7.11.8 用户数据(User Data) 226

7.12 关节(Joints) 226

7.12.1 关节的定义(JointDef) 226

7.12.2 关节的属性 227

7.12.3 距离关节(Distance Joint) 228

7.12.4 旋转关节(Revolute Joint) 229

7.12.5 移动关节(Prismatic Joint) 230

7.12.6 滑轮关节(Pulley Joint) 231

7.12.7 齿轮关节(Gear Joint) 232

7.12.8 鼠标关节(Mouse Joint) 234

7.12.9 线性关节(Line Joint) 235

7.12.10 焊接关节(Weld Joint) 235

7.13 接触(Contants) 235

7.13.1 概述 236

7.13.2 接触类(Contact Class) 237

7.13.3 访问接触(Accessing Contacts) 237

7.13.4 接触监听器(Contact Listener) 238

7.13.5 接触筛选(Contact Filtering) 240

7.14 示例项目 241

7.14.1 Box2dTest示例项目 241

7.14.2 调试绘图DebugDraw 243

7.14.3 创建精灵刚体 244

7.15 本章小结 246

第8章 游戏中的声音 249

8.1 概述 249

8.2 音乐与音效 250

8.3 声音格式 250

8.4 CocosDenshion声音模块 252

8.5 背景音乐操作函数 253

8.6 声音音效操作函数 255

8.7 示例程序 256

8.8 本章小结 259

第9章 文件操作模块 261

9.1 概述 261

9.2 引擎文件操作模块 261

9.3 卖取文件 263

9.4 写入文件 267

9.5 游戏中用户数据 269

9.5.1 游戏中的用户数据 269

9.5.2 用户数据的基本类型 270

9.5.3 读取与写入操作 271

9.6 示例程序 272

9.7 本章小结 274

第10章 内存管理机制 277

10.1 内存管理概述 277

10.2 引用计数 278

10.3 自动释放池 280

10.3.1 使用方法 280

10.3.2 实现原理 281

10.4 管理模式 284

10.4.1 引擎当中的应用 284

10.4.2 缓冲区 285

10.5 日志调试方式 286

10.6 本章小结 288

第11章 粒子系统 290

11.1 概述 290

11.2 粒子效果 291

11.3 粒子系统的来历 292

11.4 引擎当中的粒子系统 293

11.5 粒子的生命周期 294

11.6 粒子的属性 295

11.7 粒子发射器属性 296

11.7.1 发射器共有的属性 296

11.7.2 重力发射器模式(Gravity) 304

11.7.3 半径发射器模式(Radius) 306

11.8 粒子效果编辑器 307

11.8.1 概述 308

11.8.2 Particle Designer的使用方法 308

11.8.3 引擎中应用 310

11.9 本章小结 312

第12章 Lua脚本语言 314

12.1 概述 314

12.2 Lua脚本语言简介 315

12.3 为什么需要它? 316

12.3.1 简易性 316

12.3.2 可扩展性 316

12.3.3 高效性 317

12.3.4 可移植性 317

12.4 Lua脚本语言的语法 318

12.4.1 类型与数值 318

12.4.2 表达式 320

12.4.3 语句 322

12.4.4 函数 326

12.5 Lua在引擎中的应用 328

12.5.1 Lua与C/C++ 328

12.5.2 引擎中的脚本引擎 329

12.6 样例程序 331

12.6.1 脚本引擎初始化 332

12.6.2 游戏内容的实现脚本 333

12.6.3 农场层的实现 334

12.6.4 菜单层的实现 337

12.7 本章小结 338

第13章 Cocos2D-HTML5引擎版本 340

13.1 概述 340

13.2 HTML的发展史 341

13.2.1 HTML版本 341

13.2.2 XHTML版本 342

13.2.3 HTML5是未来之星 342

1 3.3 HTML5新特性 342

13.3.1 跨平台的特性 343

13.3.2 Canvas API 343

13.3.3 WebGL 344

13.3.4 其他特性 345

13.4 JavaScript语言基础 346

13.4.1 概述 346

13.4.2 变量 347

13.4.3 数据类型 348

13.4.4 运算符 348

13.4.5 语句 351

13.4.6 对象 352

13.4.7 函数 353

13.4.8 事件 354

13.5 Cocos2d-HTML5引擎 356

13.5.1 HTML5版本介绍 356

13.5.2 安装引擎 357

13.5.3 示例程序 357

13.5.4 引擎的架构 360

13.6 JS Binding技术的实现 362

13.6.1 概述 362

13.6.2 SpiderMonkey 362

13.6.3 示例程序 363

13.7 本章小结 364

第14章 引擎之外的附加功能 366

14.1 概述 366

14.2 网络通信支持 367

14.2.1 HTTP介绍 367

14.2.2 curl库(1ibcurl) 368

14.2.3 HTTP在引擎中的应用 368

14.2.4 HTTP示例项目 372

14.2.5 Socket的介绍 376

14.2.6 BSD Socket在引擎中的应用 378

14.3 收费模式 379

14.3.1 下载计费 379

14.3.2 内置计费 380

14.3.3 广告版本 380

14.4 社交网络在游戏中的应用 381

14.4.1 Game Center 382

14.4.2 OpenFeint 384

14.5 数据分析 385

14.5.1 Flurry介绍 386

14.5.2 友盟 390

第15章 Cocos2D-X引擎的未来 391

15.1 概述 391

15.2 Cocos2D引擎的走势 391

15.3 Cocos2D-X引擎的不足 392

15.3.1 丰富的UI 393

15.3.2 完善的工具 393

15.3.3 支持网络通信 395

15.3.4 版本的统一 395

15.3.5 数据安全 396

15.4 Cocos2D-X引擎增强的功能 396

15.4.1 良好的中文支持 397

15.4.2 游戏基本框架 397

15.4.3 游戏逻辑支持 398

15.4.4 脚本化编程 399

15.4.5 可视化的操作界面 400

15.5 会不会有Cocos3D 401

15.6 本章小结 403

相关图书
作者其它书籍
返回顶部