《Cocos2d-x 3.x游戏开发实战》PDF下载

  • 购买积分:17 如何计算积分?
  • 作  者:肖文吉编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2015
  • ISBN:9787121246890
  • 页数:552 页
图书介绍:本书详细介绍Cocos2D-X引擎架构下的移动端游戏开发,前8章介绍手机游戏开发的基础知识,包括开发环境的搭建,Cocos2D-X引擎介绍、核心类、动作和动画、文本渲染系统、常用控件、事件、声音系统和数据存储等。本书的后半部分以打飞机、萌仙、疯狂的小鸟和保卫公主等游戏介绍商业游戏开发的具体过程以及Cocos2D-X游戏开发过程中涉及的高级核心技术。

第1章 Cocos2d-x游戏引擎介绍 1

1.1 什么是游戏引擎 2

1.2 Cocos2d游戏引擎 2

1.2.1 Cocos2d的发展 2

1.2.2 Cocos2d的特点 4

1.2.3 Cocos2d的现在和未来 4

1.3 Cocos2d-x游戏引擎 4

1.3.1 选择Cocos2d-x的理由 5

1.3.2 Cocos2d-x的主要功能 6

1.3.3 Cocos2d-x 3.0 版本的各语言优化 7

1.3.4 Cocos2d-x 3.0的新特性 8

1.3.5 使用了Cocos2d-x的游戏 10

1.4 本章小结 11

第2章 跨平台开发环境的搭建 12

2.1 搭建iOS下的开发环境 13

2.1.1 Cocos2d-x的安装与配置 14

2.1.2 Cocos2d-x项目结构和代码分析 15

2.2 搭建Windows下的开发环境 25

2.2.1 Cocos2d-x的安装与配置 25

2.2.2 Cocos2d-x工程目录和代码分析 27

2.3 搭建Android下的开发环境 29

2.3.1 软件的安装与环境变量配置 30

2.3.2 构建Cocos2d-x工程 31

2.3.3 在Eclipse下运行程序 32

2.4 本章小结 34

第3章 Cocos2d-x的核心类 35

3.1 节点类(Node) 36

3.1.1 Node类的成员变量 36

3.1.2 Node类的函数 38

3.1.3 坐标系 41

示例:测试锚点——AnchorPointTest 43

示例:测试Node类的常用函数——NodeTest 45

3.2 场景类(Scene) 48

3.2.1 TransitionScene场景切换 48

3.2.2 Cocos2d-x支持的场景过渡效果 48

3.3 层类(Layer) 50

3.3.1 Layer类的常用成员变量 50

3.3.2 Layer类的常用函数 50

3.4 导演类(Director) 51

3.4.1 Director导演类常用的成员变量 51

3.4.2 Director导演类常用的函数 52

3.4.3 Director导演类在游戏初始化时的使用分析 53

3.5 精灵类(Sprite) 54

3.5.1 纹理的相关概念 54

3.5.2 Sprite精灵类的常用成员变量 55

3.5.3 Sprite精灵类的常用函数 55

示例:测试Sprite类的常用函数——SpriteTest 57

3.5.4 SpriteFrame精灵帧类 59

3.5.5 SpriteFrameCache精灵帧缓存类 60

3.5.6 SpriteBatchNode精灵表单类 60

示例:测试SpriteFrameCacheTest精灵帧缓存类——SpriteFrameCacheTest 62

3.5.7 制作精灵表单 64

示例:测试自己制作的精灵表单——SpriteSheetTest 67

3.6 Cocos2d-x3.0新的数据结构 68

3.6.1 cocos2d::Vector<T> 69

示例:测试cocos2d::Vector<T>类的常用函数——VectorTest 70

3.6.2 cocos2d::Map<K,V> 73

示例:测试cocos2d::Map<K,V>类的常用函数——MapTest 74

3.6.3 cocos2d::Value 76

示例:测试cocos2d::Value类的常用函数——ValueTest 77

3.7 本章小结 79

第4章 Cocos2d-x的动作和动画 80

4.1 作基类Action 81

4.1.1 Action类的常用成员变量 82

4.1.2 Action类的常用函数 82

4.1.3 Action类的子类 82

4.2 示例:测试基本动作——ActionBasicTest 84

4.2.1 显示、隐藏、闪烁动作 85

4.2.2 淡入淡出动作 87

4.2.3 色彩值渐变动作 89

4.2.4 移动动作 92

4.2.5 跳跃动作 95

4.2.6 缩放动作 98

4.2.7 旋转动作 101

4.3 示例:测试组合动作——ActionCombinationTest 104

4.4 示例:测试可变速度动作——ActionEaseTest 108

4.4.1 EaseIn、EaseOut和EaseInOut 109

4.4.2 EaseSineIn、EaseSineOut和EaseSineInOut 111

4.4.3 EaseExponentialIn、EaseExponentialOut和EaseExponentialInOut 111

4.4.4 EaseBounceIn、EaseBounceOut和EaseBounceInOut 112

4.4.5 EaseElasticIn、EaseElasticOut和EaseElasticInOut 112

4.5 示例:测试速度动作——ActionSpeedTest 112

4.6 示例:测试跟随动作——ActionFollowTest 114

4.7 示例:测试延迟动作——ActionDelayTest 116

4.8 示例:测试函数回调动作——ActionCallFuncTest 117

4.9 Cocos2d-x中与动画相关的类 122

4.10 示例:英雄舞剑动画 124

4.11 示例:僵尸走路动画 125

4.12 示例:使用动画帧缓冲实现动画 127

4.13 示例:制作精灵表单实现动画 129

4.14 Cocos2d-x新增的3D特性fbv-conv的用法 132

4.15 示例:Sprite3D创建3D精灵 133

4.16 示例:Animation3D创建3D动画 135

4.17 本章小结 137

第5章 Cocos2d-x的文本渲染系统和菜单 138

5.1 文本渲染相关的类 138

5.2 TTF类型标签LabelTTF 139

示例:测试LabelTTF类——LabelTTFTest 139

5.3 BMFont标签类LabelBMFont 141

示例:测试LabelBMFont类——LabelBMFontTest 143

5.4 Atlas标签类LabelAtlas 144

示例:测试LabelAtlas类——LabelAtlasTest 145

5.5 Cocos2d-x新增的标签类Label 147

示例:测试Label类——LabelTest 148

5.6 菜单类Menu 150

5.7 菜单项MenuItem和常用子类 151

5.7.1 标签菜单项(MenuItemLabel) 151

5.7.2 自定义字体菜单项(MenuItemAtlasFont) 152

5.7.3 字体菜单项(MenuItemFont) 152

5.7.4 精灵菜单项(MenuItemSprite) 152

5.7.5 图片菜单项(MenuItemImage) 152

5.7.6 触发器菜单项(MenuItemToggle) 153

示例:测试菜单——MenuTest 153

5.8 本章小结 157

第6章 Cocos2d-x的事件处理机制 158

6.1 事件处理机制 158

6.1.1 接收数据(Touch) 159

6.1.2 分发事件(EventDispatcher) 160

6.1.3 处理响应(EventListener) 161

6.2 触摸事件 162

6.2.1 单点触摸事件(EventListenerTouchOneByOne) 162

示例:场景优先事件监听——TouchOneByOneTest 162

示例:滑动屏幕选择菜单——TouchOneByOneTest 167

示例:固定值优先事件监听——TouchPriorityTest 172

6.2.2 多点触摸事件(EventListenerTouchAllAtOnce) 176

示例:多点触摸(缩放功能的实现)——TouchAllAtOnceTest 176

6.3 加速度计事件(EventListenerAcceleration) 180

示例:滚动的小球——AccelerometerTest 180

6.4 按键事件(EventListenerKeyboard) 184

6.5 鼠标事件(EventListenerMouse) 184

6.6 自定义事件(EventListenerCustom) 185

示例:自定义事件处理——CustomTest 186

6.7 本章小结 188

第7章 Cocos2d-x的常用控件 189

7.1 Cocos2d-x的控件 189

7.1.1 按钮类ControlButton 191

示例:测试按钮——ControlButtonTest 192

7.1.2 拖动滑块类ControlSlider 196

示例:测试拖动滑块——ControlSliderTest 196

7.1.3 开关按钮类ControlSwitch 198

示例:测试开关按钮——ControlSwitchTest 199

7.2 Cocos Studio中的UI控件 201

7.2.1 Widget(所有UI控件的父类) 202

7.2.2 Button(按钮) 205

示例:测试UI控件——UITest 205

7.2.3 Text(本) 211

7.2.4 TextField(文本框) 213

7.2.5 CheckBox(复选框) 217

7.2.6 ImageView(图片) 219

7.2.7 LoadingBar(进度条) 221

7.2.8 Slider(滑动条) 223

7.2.9 Layout(布局容器) 225

7.2.1 0 ScrollView(滚动层容器) 231

7.2.1 1 ListView(列表层容器) 235

7.2.1 2 PageView(分页层容器) 238

7.3 本章小结 241

第8章 Cocos2d-x的声音系统和数据存储 242

8.1 声音系统 242

8.1.1 背景音乐和声音特效 242

8.1.2 CocosDenshion库 243

8.1.3 SimpleAudioEngine类 243

示例:背景音乐和音效控制——SimpleAudioEngineTest 245

8.2 数据存储 255

8.2.1 UserDefault类 255

示例:用户数据存储测试——UserDefaultTest 257

8.3 本章小结 260

第9章 射击类游戏:疯狂打飞机 261

9.1 游戏简介 261

9.2 添加游戏菜单 262

9.3 预加载游戏资源 268

9.4 玩家飞机飞行效果 273

9.5 玩家飞机Touch实现 276

9.6 背景滚动效果 278

9.7 添加敌机 280

9.8 玩家飞机发射子弹 284

9.9 背景音乐和积分统计 288

9.1 0游戏大Boss 290

9.1 1本章小结 296

第10章 粒子系统 297

10.1 粒子系统相关的类 297

10.1.1 ParticleSystem类 297

10.1.2 ParticleSystemQuad类 303

10.1.3 ParticleBatchNode类 303

10.2 粒子系统的使用 303

示例:使用内置的粒子系统——ParticleEffectTest 305

示例:自己定制粒子系统——MyParticleTest 306

10.3 使用Particle Designer工具制作粒子 310

示例:使用plist文件创建粒子系统——ParticleDesignerTest 312

示例:休闲类游戏——疯狂打地鼠 313

10.4 本章小结 337

第11章 瓦片地图 338

11.1 下载和安装Tiled地图编辑器 338

11.2 使用Tiled绘制地图 339

11.3 Tiled地图相关的类 345

11.3.1 TMXTiledMap类 345

11.3.2 TMXLayer类 346

11.3.3 TMXObjectGroup类 347

示例:使用Tiled地图——TileMapTest 348

11.4 本章小结 353

第12章 真实手游:萌仙 354

12.1 设计地图场景 354

12.2 载入地图 355

12.3 地图的移动 358

12.4 遮挡效果和设置障碍物 362

12.5 寻路算法 365

12.6 随机出现怪物 375

12.7 玩家和怪物进行战斗 380

12.8 本章小结 388

第13章 Cocos2d-x的物理引擎 389

13.1 物理引擎概述 389

13.2 Box2D核心概念 390

13.3 Box2D中常用的属性和函数 393

13.4 Box2D示例项目分析 394

13.5 Cocos2d-x和Box2D的整合开发 402

13.6 Box2D发步骤 404

13.7 Cocos2d-x 3.0中的物理引擎 405

13.7.1 PhysicsWorld类 405

13.7.2 PhysicsBody类 406

13.7.3 PhysicsShape类 408

13.8 使用3.0的物理引擎开发项目 409

示例:测试3.0新增的物理引擎——PhysicsTest 409

13.9 益智类游戏:愤怒的小鸟 412

13.9.1 开始前的准备工作 412

13.9.2 进度条制作 412

13.9.3 游戏中的粒子效果 415

13.9.4 游戏选关操作 420

13.9.5 设计关卡数据 425

13.9.6 设计精灵类 428

13.9.7 游戏主界面 431

13.9.8 弹弓发射小鸟 435

13.9.9 物理引擎 441

13.9.1 0物理碰撞 445

13.9.1 1游戏过关设计 448

13.1 0本章小结 452

第14章 Cocos2d-x的内存管理 454

14.1 内存管理概述 454

14.2 手动内存管理 455

14.2.1 对象的引用计数 455

14.2.2 对象所属权 458

14.2.3 函数中的保留和释放 461

14.2.4 使用自动释放池 462

14.2.5 手动内存管理总结 465

14.3 自动释放池 465

14.3.1 Ref的引用计数 465

14.3.2 AutoreleasePool自动释放池 468

14.3.3 PoolManager自动释放池管理器 471

14.3.4 create函数 474

14.4 本章小结 476

第15章 塔防类游戏:保卫公主 477

15.1 设计关卡地图场景 477

15.2 游戏菜单 479

15.3 选择关卡 482

15.4 加载关卡数据 489

15.5 准备进入游戏 497

15.6 随机出现怪物 503

15.7 建造炮塔 508

15.8 旋转炮塔 511

15.9 检测碰撞 515

15.10 游戏结束 517

15.11 本章小结 520

第16章 Cocos Studio 521

16.1 Cocos Studio概述 521

16.2 Cocos Studio安装 521

16.3 Cocos Studio 特性 523

16.4 Cocos Studio界面 523

16.4.1 界面布局 523

16.4.2 起始页面 524

16.4.3 渲染面板 524

16.4.4 动画帧面板 525

16.4.5 属性面板 526

16.4.6 资源面板 526

16.4.7 控件面板 527

16.4.8 快捷工具面板 527

16.5 UI编辑器的使用 528

示例:测试UI编辑器——CocosStudioTest 528

16.5.1 按钮和文本框控件 528

16.5.2 进度条控件 535

16.5.3 滑动条控件 537

16.5.4 层容器控件 539

16.5.5 滚动层容器控件 540

16.5.6 分页层容器控件 543

16.5.7 UI动画制作 545

16.6 本章小结 549

附录 Cocos2d-x中常用的宏 550