Cocos2D-X权威指南(第2版)

Cocos2D-X权威指南(第2版) pdf epub mobi txt 电子书 下载 2026

出版者:机械工业出版社
作者:满硕泉
出品人:
页数:480
译者:
出版时间:2014-9-1
价格:79.00
装帧:平装
isbn号码:9787111477143
丛书系列:
图书标签:
  • cocos2d-x
  • 技能
  • 计算机
  • Cocos2D-X
  • 游戏开发
  • 游戏引擎
  • C++
  • 移动游戏
  • 跨平台
  • 教程
  • 指南
  • 编程
  • 开发
想要找书就要到 小美书屋
立刻按 ctrl+D收藏本页
你会得到大惊喜!!

具体描述

《Cocos2D-X权威指南(第2版)》第1版是公认的最适合系统学习Cocos2D-X的著作,广受读者好评,是该领域的权威畅销书。第2版根据Cocos2D-X 3.x全面重写,不仅根据最新技术进行了升级,而且对知识点和案例也进行了大幅补充,还对原有内容和写作方式进行了优化。内容更加全面,更加系统地讲解了Cocos2D-X最新的功能特性、使用方法、技术要点、开发技巧、高级知识、最佳实践以及性能优化;实战性更强,不仅每个知识点都辅之以便于理解的小案例,而且通过精心设计的4款游戏案例完美呈现了Cocos2D-X游戏设计与开发的完整过程,极富启发性。更为重要的是,本书将游戏开发人员应该掌握的游戏开发思想也融入其中。

全书共20章,分为三个部分。基础篇(第1~10章),首先系统介绍了Cocos2D-X的核心概念、主要功能,在Windows、Android、iOS等平台下的安装、配置、交叉编译环境的搭建,以及它的调试和多语言混编;然后重点讲解了Cocos2D-X的功能特性、使用方法、技术要点,包括Cocos2D-X中的核心类、图片渲染类、动作、动画、特效、菜单项、文本渲染系统、事件处理机制、UI控件、瓦片地图集、声音、存储、网络以及物理引擎等内容。高级篇(第11~16章),介绍了Cocos2D-X中的脚本语言、常用算法的实现、粒子系统与着色器的使用,以及CocoStudio等相关的编辑器等。实战篇(第17~20章),通过4个案例全过程讲解了如何采用Cocos2D-X开发纵版射击游戏、横版动作游戏、物理类游戏和消除类游戏,旨在让读者深入了解Cocos2D-X的基础知识在游戏开发实战中的应用,而且4个案例不仅包含横版卷轴和纵版卷轴,还分别采用了C++、JavaScript和Lua三种不同的开发语言。同时,本书可以让开发者深入了解不同类型游戏的开发思想以及Cocos2D-X涉及的不同开发语言。

第2版和第1版的重要区别如下:

Cocos2D-X引擎基础内容根据3.0版本重新编写。更新已有内容,添加新增功能,比如UI控件和全新渲染系统,等等。

添加Cocos2D-X脚本相关内容。从语言特点到在引擎中的使用,再到注意事项,全面学习Cocos2D-X脚本绑定。

增加对shader等引擎的高级特性讲解。

完善游戏实例,实例个数由原来的2个变成4个,并且4个实例分别采用不同知识点。

新增对CocosBuilder和CocoStudio两大编辑器的讲解。

作者简介

满硕泉(bill man) ,资深手机游戏开发工程师和移动应用开发工程师,在Android和iOS两个平台上开发了多款游戏,对Cocos2D-X和Unity3D等游戏引擎有非常深入的研究,积累了丰富的经验。精通C++、Java、.NET和JavaScript相关的技术,对HTML 5也有一定的研究。活跃于CSDN和Cocos2D-X相关技术社区,撰写了大量关于Cocos2D-X的文章,深受广大网友好评。

目录信息

前言
第一部分 基础篇
第1章 认识Cocos2D-X / 2
1.1 什么是Cocos2D / 2
1.1.1 Cocos2D的特点 / 2
1.1.2 Cocos2D的主要功能 / 3
1.1.3 Cocos2D的应用 / 5
1.2 什么是Cocos2D-X / 6
1.2.1 Cocos2D-X的特点 / 6
1.2.2 Cocos2D-X的主要功能 / 6
1.2.3 “百花齐放”的辅助工具链 / 7
1.2.4 Cocos2D-X主导的3.0时代 / 8
1.2.5 Cocos2D-X的应用 / 9
1.3 Cocos2D-X与Cocos2D-iPhone的比较 / 10
1.4 本章小结 / 12
第2章 搭建跨平台的开发环境 / 13
2.1 Cocos2D-X的安装和配置 / 13
2.1.1 Cocos2D-X的运行编译环境 / 13
2.1.2 需要安装或配置的工具 / 14
2.2 Cocos2D-X代码集成调试工具Cocos Code IDE / 15
2.2.1 安装和配置 / 15
2.2.2 在Cocos Code IDE中调试代码 / 15
2.3 搭建Windows开发环境 / 19
2.4 搭建Android开发环境 / 20
2.4.1 编译和运行 / 21
2.4.2 Cocos2D-X的工程目录介绍 / 25
2.5 搭建iOS开发环境 / 27
2.6 Cocos2D-X调试 / 28
2.6.1 Visual Studio的调试方法 / 28
2.6.2 Eclipse的调试方法 / 28
2.6.3 Xcode的调试方法 / 31
2.7 多语言混编Cocos2D-X / 35
2.7.1 在Cocos2D-X中调用Objective-C / 35
2.7.2 在Cocos2D-X中调用Java / 36
2.8 使用doxygen获得Cocos2D-X的最新文档 / 37
2.9 启动文件和适配 / 39
2.10 本章小结 / 41
第3章 Cocos2D-X中的核心类 / 42
3.1 坐标系简介 / 43
3.1.1 OpenGL坐标系 / 43
3.1.2 世界坐标系 / 43
3.1.3 节点坐标系 / 44
3.1.4 仿射变换 / 44
3.2 Cocos2D-X渲染 / 45
3.2.1 渲染树 / 45
3.2.2 渲染原理 / 45
3.3 节点类 / 46
3.3.1 Node类的成员数据 / 47
3.3.2 Node类的函数 / 48
3.3.3 实战:通过节点控制屏幕中的全体渲染对象 / 51
3.4 导演类 / 54
3.4.1 Director类的成员数据 / 54
3.4.2 Director类的函数 / 54
3.4.3 实战:Director类的使用 / 56
3.5 场景类 / 57
3.5.1 如何新建一个场景 / 58
3.5.2 场景的切换 / 59
3.5.3 场景间切换的动画 / 61
3.6 布景层类 / 63
3.6.1 Layer类的函数 / 64
3.6.2 颜色布景层类LayerColor / 65
3.6.3 菜单类Menu / 68
3.7 图形绘制类 / 70
3.8 时间调度的使用 / 73
3.9 Ref类和内存管理 / 73
3.10 本章小结 / 74
第4章 Cocos2D-X中的图片渲染类 / 75
4.1 精灵类 / 75
4.1.1 Sprite类的成员及函数 / 75
4.1.2 贴图类Texture2D / 77
4.1.3 精灵批处理类SpriteBatchNode / 77
4.1.4 精灵帧类SpriteFrame / 79
4.1.5 精灵帧缓存类SpriteFrameCache / 80
4.1.6 九宫格精灵Scale9Sprite / 80
4.1.7 实战:精灵类及其相关类的使用 / 81
4.2 裁剪节点类 / 88
4.3 图片异步加载 / 91
4.4 Cocos2D-X中如何节约图片空间 / 92
4.4.1 图片打包器TexturePacker / 92
4.4.2 通过优化降低游戏尺寸的方法 / 95
4.5 本章小结 / 96
第5章 Cocos2D-X中的动作、特效与动画 / 97
5.1 动作类 / 97
5.1.1 Action类的主要成员数据和函数 / 97
5.1.2 基本动作 / 98
5.1.3 摄像机动作类 / 108
5.1.4 基本样条动作 / 110
5.1.5 缓冲动作 / 114
5.1.6 组合动作 / 117
5.1.7 跟随动作 / 118
5.1.8 可调整速度动作 / 119
5.1.9 动作延时 / 120
5.1.10 改变动作执行对象 / 121
5.1.11 函数回调动作 / 121
5.1.12 过程动作 / 123
5.2 动作管理类 / 125
5.2.1 动作管理类的主要函数 / 126
5.2.2 动作管理类的使用 / 126
5.3 Cocos2D-X中的网格动作 / 127
5.3.1 Cocos2D-X中的网格 / 127
5.3.2 网格动作 / 127
5.3.3 清除网格 / 129
5.4 Cocos2D-X中的动画 / 130
5.4.1 Cocos2D-X中与动画相关的类 / 130
5.4.2 Cocos2D-X中的动画实例 / 131
5.4.3 使用plist配置文件实现动画 / 133
5.4.4 Flash动画的转换 / 135
5.5 本章小结 / 137
第6章 Cocos2D-X中的菜单项和文本渲染系统 / 138
6.1 菜单项 / 138
6.1.1 标签菜单项 / 138
6.1.2 精灵菜单项 / 139
6.1.3 触发器菜单项 / 140
6.1.4 菜单项的使用 / 140
6.2 文本渲染系统 / 141
6.2.1 LableAtlas类 / 142
6.2.2 LabelTTF类 / 143
6.2.3 LabelBMFont类 / 147
6.2.4 Label标签类 / 151
6.2.5 FreeType字体库 / 152
6.2.6 富文本类RichText / 153
6.3 本章小结 / 154
第7章 Cocos2D-X中的事件处理机制和UI控件 / 155
7.1 Cocos2D-X中的事件处理机制 / 155
7.2 Cocos2D-X中的触屏事件 / 156
7.2.1 触点类Touch / 156
7.2.2 单点触摸函数 / 157
7.2.3 多点触摸函数 / 157
7.2.4 加入单点触摸 / 158
7.2.5 加入多点触摸 / 159
7.2.6 实战:主角随手指移动 / 161
7.2.7 实战:缩放 / 164
7.3 Cocos2D-X中的加速度传感器事件 / 165
7.3.1 Acceleration结构体 / 165
7.3.2 实战:加速度传感器事件的使用 / 166
7.4 Cocos2D-X中的按键事件 / 167
7.5 UI控件 / 168
7.5.1 按钮控件 / 169
7.5.2 选择框 / 170
7.5.3 滚动列表 / 171
7.5.4 输入框 / 172
7.6 本章小结 / 172
第8章 Cocos2D-X中的瓦片地图集 / 173
8.1 瓦片地图集及编辑器简介 / 173
8.1.1 瓦片地图的种类及用途 / 173
8.1.2 地图编辑器Tiled / 174
8.1.3 用Tiled编辑地图 / 175
8.1.4 设置地形 / 179
8.1.5 添加对象层 / 180
8.2 Cocos2D-X中和Tiled相关的类 / 181
8.2.1 Tiled数据文件 / 181
8.2.2 瓦片地图集类TMXTiledMap / 182
8.2.3 地图层类TMXLayer / 183
8.2.4 地图精灵组类TMXObjectGroup / 184
8.3 Cocos2D-X中使用地图和地图相关类 / 184
8.3.1 新建地图类并在地图中显示 / 184
8.3.2 普通视角地图获得对应位置图素 / 185
8.3.3 45度角地图获得对应位置图素 / 187
8.3.4 GID值的使用 / 188
8.3.5 地图块属性的获得 / 189
8.3.6 在地图中加入精灵 / 190
8.3.7 精灵层的操作 / 192
8.4 本章小结 / 193
第9章 Cocos2D-X中的声音、存储和网络 / 194
9.1 Cocos2D-X中的声音 / 194
9.1.1 Cocos2D-X在不同平台下支持的声音 / 194
9.1.2 SimpleAudioEngine类的常用函数 / 195
9.1.3 实战:SimpleAudioEngine类的使用 / 196
9.2 Cocos2D-X中的游戏存档 / 197
9.2.1 UserDefault类的常用函数 / 197
9.2.2 实战:UserDefault类的使用 / 198
9.3 Cocos2D-X中的网络连接 / 200
9.3.1 cURL基础知识 / 200
9.3.2 HttpClient类 / 203
9.3.3 Socket类 / 204
9.4 本章小结 / 205
第10章 Cocos2D-X中的物理引擎 / 206
10.1 物理引擎 / 206
10.1.1 物理引擎简介 / 206
10.1.2 物理引擎的作用 / 206
10.1.3 认识Box2D和Chipmunk / 207
10.2 Cocos2D-X中的Box2D / 207
10.2.1 Box2D中的重要概念 / 207
10.2.2 Box2D的使用步骤 / 208
10.3 Cocos2D-X中的Chipmunk / 213
10.4 物理精灵类PhysicsSprite / 215
10.5 本章小结 / 216
第二部分 高级篇
第11章 Cocos2D-X中的脚本语言——Lua / 218
11.1 Lua基本介绍 / 218
11.1.1 Lua的变量及内置类型 / 219
11.1.2 Lua的操作符和控制结构 / 221
11.1.3 Lua中的全局函数 / 222
11.1.4 在Lua中实现面向对象 / 223
11.2 Lua与Cocos2D-X的结合 / 225
11.2.1 C++调用Lua / 225
11.2.2 Lua调用C++ / 226
11.3 Cocos2D-X的Lua相关框架 / 230
11.4 本章小结 / 231
第12章 Cocos2D-X中的脚本语言——JavaScript / 232
12.1 认识HTML5 / 232
12.2 JavaScript基本介绍 / 233
12.2.1 JavaScript的变量和内置类型 / 234
12.2.2 JavaScript的操作符和控制结构 / 236
12.2.3 在JavaScript中实现面向对象 / 237
12.3 搭建HTML5开发环境 / 238
12.4 Cocos2D-JS的HTML5运行原理 / 240
12.5 JavaScript与Cocos2D-X的结合 / 244
12.5.1 C++调用JavaScript / 245
12.5.2 JavaScript调用C++ / 246
12.6 本章小结 / 248
第13章 游戏中常用算法在Cocos2D-X中的实现 / 249
13.1 A星算法 / 249
13.1.1 启发式搜索算法原理 / 249
13.1.2 什么是A星搜索 / 250
13.1.3 A星算法在Cocos2D-X中的实现 / 251
13.2 碰撞检测算法 / 263
13.2.1 碰撞检测的基本思想 / 264
13.2.2 碰撞检测在Cocos2D-X中的实现 / 265
13.3 本章小结 / 271
第14章 粒子系统 / 272
14.1 什么是粒子系统 / 272
14.1.1 粒子系统的特点 / 273
14.1.2 粒子系统的构成 / 273
14.2 Cocos2D-X中的粒子系统 / 273
14.2.1 粒子批处理类ParticleBatchNode / 274
14.2.2 粒子系统基类ParticleSystem / 275
14.2.3 粒子系统子类ParticleSystemQuad / 276
14.2.4 ParticleSystem中的属性介绍 / 278
14.3 在Cocos2D-X中使用粒子系统 / 279
14.3.1 新建一个粒子系统ParticleSystemQuad类 / 279
14.3.2 直接使用ParticleSystemQuad类的子类 / 281
14.3.3 使用粒子编辑器创建粒子系统 / 282
14.3.4 “清理”粒子系统 / 283
14.4 支持Cocos2D-X的粒子编辑器 / 283
14.4.1 Windows粒子编辑器Cocos2d Particle Editor / 283
14.4.2 粒子编辑器Particle Designer / 287
14.4.3 粒子编辑器V-Play / 293
14.5 实战:使用编辑器设计下雨效果 / 294
14.6 本章小结 / 296
第15章 Cocos2D-X中的着色器 / 297
15.1 什么是着色器语言 / 297
15.2 着色器语言概览 / 297
15.2.1 着色器语言的特点 / 298
15.2.2 使用着色器可以为我们带来什么 / 300
15.2.3 如何学习着色器语言 / 301
15.3 在Cocos2D-X中使用shader / 303
15.3.1 shader程序的编译执行流程 / 303
15.3.2 shader执行者GLProgram类 / 303
15.3.3 shader管理者ShaderCache类 / 304
15.3.4 在Cocos2D-X中创建并使用shader / 305
15.4 实战:图片灰化 / 306
15.5 本章小结 / 308
第16章 Cocos2D-X相关的编辑器 / 309
16.1 CocosBuilder简介 / 309
16.1.1 CocosBuilder菜单操作 / 309
16.1.2 对象属性编辑 / 313
16.1.3 CocosBuilder在Cocos2D-X中常用的相关类 / 318
16.1.4 实战:CocosBuilder应用 / 319
16.2 CocoStudio简介 / 325
16.2.1 数据编辑器 / 326
16.2.2 场景编辑器 / 327
16.2.3 界面编辑器 / 329
16.2.4 动画编辑器 / 331
16.3 本章小结 / 332
第三部分 实战篇
第17章 纵版射击游戏:喵星战争 / 334
17.1 纵版射击游戏的特点 / 334
17.2 喵星战争简介 / 334
17.3 主游戏模块组成元素的实现 / 336
17.3.1 主角小猫的实现 / 336
17.3.2 敌人狗博士的实现 / 340
17.3.3 鱼骨子弹的实现 / 343
17.3.4 试管子弹的实现 / 345
17.3.5 游戏分数的实现 / 345
17.4 喵星战争的实现 / 347
17.4.1 游戏主模块的实现 / 347
17.4.2 游戏主菜单的实现 / 352
17.4.3 关于界面实现 / 355
17.5 本章小结 / 357
第18章 横版动作游戏:萝莉快跑 / 358
18.1 横版动作游戏的特点 / 358
18.2 萝莉快跑简介 / 359
18.3 主游戏模块组成元素的实现 / 361
18.3.1 主角萝莉的实现 / 361
18.3.2 星星的实现 / 366
18.3.3 地图的实现 / 367
18.4 萝莉快跑的实现 / 373
18.4.1 游戏主模块的实现 / 373
18.4.2 游戏主菜单的实现 / 376
18.4.3 关于界面的实现 / 378
18.5 本章小结 / 379
第19章 物理体育游戏:迷你世界杯 / 380
19.1 物理游戏的特点 / 380
19.2 迷你世界杯简介 / 380
19.3 迷你世界杯的实现 / 384
19.3.1 主角的实现 / 384
19.3.2 游戏主模块的实现 / 387
19.3.3 游戏主菜单的实现 / 393
19.3.4 关于界面的实现 / 396
19.4 本章小结 / 397
第20章 消除游戏:天天消豆豆 / 398
20.1 消除游戏的特点 / 398
20.2 天天消豆豆简介 / 398
20.3 天天消豆豆的实现 / 399
20.3.1 Lua游戏框架实现 / 399
20.3.2 开始界面模块的实现 / 402
20.3.3 游戏主逻辑的实现 / 405
20.4 本章小结 / 415
附录 Cocos2D-X中常见的宏 / 416
· · · · · · (收起)

读后感

评分

评分

评分

评分

评分

用户评价

评分

阅读体验上,这本书的排版和图示质量非常高。在描述复杂的数学原理或者数据结构(比如四元数在3D旋转中的应用)时,作者提供的插图清晰且直观,它们有效地弥补了纯文本描述的抽象性。例如,在解释Z轴深度缓冲区的写入过程时,附带的流程图比我之前看过的任何一篇技术博客都要易于理解。另外,书中的术语处理也很到位,对于一些比较晦涩的专业名词,作者总是在首次出现时就用脚注或括号给出了简洁明了的解释,这极大地减少了查阅外部资料的次数。我注意到,作者在内容组织上非常尊重读者的学习习惯,总是在一个大的技术点结束时,附带一个“常见陷阱与规避”的总结小结,这简直是为我这种容易“踩坑”的开发者量身定做,让人感觉作者真的是站在读者的角度来写作的,非常贴心和实用。

评分

这本书的封面设计确实很吸引人,那种带着一些技术感的蓝色和代码元素的组合,让人一眼就能感受到这是一本偏向实战的指南。我是在一个技术论坛上被安利的,当时正在头疼如何高效地在移动平台上实现一些复杂的动画效果,而且对现有的一些教程感到不够深入。拿到手之后,我迫不及待地翻阅了目录,发现它涵盖了从基础环境搭建到高级渲染管线、再到性能优化和多媒体集成的全流程。特别是关于内存管理和线程同步的那几个章节,写得极其细致,甚至详细解释了底层C++的内存模型是如何影响游戏性能的。我之前看过一些网络上的零散教程,讲到性能优化时往往只是简单提一下“使用对象池”,但这本书却是从源代码层面剖析了为什么要用对象池,以及在不同场景下对象池的最佳实现策略。对于我这种追求极致性能的开发者来说,这种深度简直是久旱逢甘霖。而且,作者似乎非常注重代码的可读性和规范性,每一个示例代码块都像艺术品一样工整,这对于长期维护一个大型项目至关重要。

评分

这本书的叙事方式非常独特,它不像教科书那样枯燥地罗列API,反而更像是一位经验丰富的老前辈带着你一步步构建一个真实可玩的小型项目。我特别欣赏作者在讲解设计模式时的切入点——他们不是空泛地谈论“工厂模式”或“观察者模式”的定义,而是直接将这些模式嵌入到游戏引擎的特定模块中去展示其优越性。比如,在讲解资源加载模块时,作者巧妙地用到了一个异步加载队列的设计,完美诠释了如何用面向对象的方式解耦资源请求和加载过程。这种“问题导入-方案设计-代码实现-效果验证”的闭环讲解模式,极大地提升了我的学习效率。我常常是跟着书中的步骤敲完一小节代码,然后立刻在我的IDE里运行测试,看到预期的效果呈现,那种成就感是看视频教程无法比拟的。对于那些希望从“会写代码”进阶到“会设计架构”的程序员来说,这本书无疑是提供了一张绝佳的蓝图。

评分

说实话,刚开始接触这本书时,我有点被它的厚度吓到,心想这么多内容,得花多长时间才能啃完啊?但随着阅读的深入,我发现这种“厚度”恰恰体现了它的全面性。它不仅覆盖了核心的二维图形绘制和物理引擎的应用,更令人惊喜的是,它还花了不少篇幅探讨了与平台特性相关的集成问题。我记得有一章详细对比了iOS和Android平台在GPU特性和触控事件处理上的细微差别,并提供了相应的跨平台兼容性解决方案。这对于那些目标是全球发布的独立游戏开发者来说,简直是宝藏信息。很多同类书籍往往在项目发布阶段就戛然而止,但这本书却深入到了后续的商业化和打包发布的流程,甚至提到了如何利用平台的原生API来优化启动速度。这种对整个产品生命周期的关注,让它不仅仅是一本技术手册,更像是一份综合性的项目管理参考资料。

评分

这本书最让我感到物超所值的地方,在于它对“为什么”的解释,而不是仅仅停留在“怎么做”的层面。在探讨粒子系统的时候,很多教材会直接告诉你如何设置发射器参数,但这本书却深入剖析了布料模拟和流体模拟背后的欧拉积分和拉格朗日网格的数学基础,虽然有些地方需要花费额外时间去理解,但一旦掌握了底层原理,你在面对任何自定义的视觉效果需求时,都能游刃有余地进行调整和创新。它赋予了我一种构建能力,而不是仅仅教会我模仿。这种“授人以渔”的哲学贯穿始终,使得这本书的知识保质期非常长。即使未来引擎版本有所更新,其阐述的核心设计思想和底层原理依然是坚实的基石。读完这本书,我感觉自己对整个游戏开发的体系结构有了更宏大、更坚实的认知框架,这对我后续的学习和职业发展都起到了关键的奠基作用。

评分

真心觉得烂,真搞不懂为什么这样一本书也会出版。不过是抄了一些test里面的代码而已。。。并且几乎没什么实质性的内容。

评分

写的算比较全面。可惜写书的专业度和知识深度不够,书中有好些地方都是一笔带过。此次只看前面基础的16章,后面是实际的游戏程序按需看。最近事太多了,这本书看了两个多月。

评分

真心觉得烂,真搞不懂为什么这样一本书也会出版。不过是抄了一些test里面的代码而已。。。并且几乎没什么实质性的内容。

评分

确实挺一般的写的

评分

确实挺一般的写的

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2026 book.quotespace.org All Rights Reserved. 小美书屋 版权所有