当前位置:主页 > 书籍配套资源 > Cocos2D-X配套资源
《Cocos2D-X权威指南(第2版)》源码

《Cocos2D-X权威指南(第2版)》源码

  • 更新:2022-04-06
  • 大小:4.8 MB
  • 类别:Cocos2D-X
  • 作者:满硕泉
  • 出版:机械工业出版社
  • 格式:PDF

  • 资源介绍
  • 相关推荐

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

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

封面图

目录

  • 前言
  • 第一部分基础篇
  • 第1章认识Cocos2D-X / 2
  • 1.1什么是Cocos2D / 2
  • 1.1.1Cocos2D的特点 / 2
  • 1.1.2Cocos2D的主要功能 / 3
  • 1.1.3Cocos2D的应用 / 5
  • 1.2什么是Cocos2D-X / 6
  • 1.2.1Cocos2D-X的特点 / 6
  • 1.2.2Cocos2D-X的主要功能 / 6
  • 1.2.3“百花齐放”的辅助工具链 / 7
  • 1.2.4Cocos2D-X主导的3.0时代 / 8
  • 1.2.5Cocos2D-X的应用 / 9
  • 1.3Cocos2D-X与Cocos2D-iPhone的比较 / 10
  • 1.4本章小结 / 12
  • 第2章搭建跨平台的开发环境 / 13
  • 2.1Cocos2D-X的安装和配置 / 13
  • 2.1.1Cocos2D-X的运行编译环境 / 13
  • 2.1.2需要安装或配置的工具 / 14
  • 2.2Cocos2D-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.2Cocos2D-X的工程目录介绍 / 25
  • 2.5搭建iOS开发环境 / 27
  • 2.6Cocos2D-X调试 / 28
  • 2.6.1Visual Studio的调试方法 / 28
  • 2.6.2Eclipse的调试方法 / 28
  • 2.6.3Xcode的调试方法 / 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.1OpenGL坐标系 / 43
  • 3.1.2世界坐标系 / 43
  • 3.1.3节点坐标系 / 44
  • 3.1.4仿射变换 / 44
  • 3.2Cocos2D-X渲染 / 45
  • 3.2.1渲染树 / 45
  • 3.2.2渲染原理 / 45
  • 3.3节点类 / 46
  • 3.3.1Node类的成员数据 / 47
  • 3.3.2Node类的函数 / 48
  • 3.3.3实战:通过节点控制屏幕中的全体渲染对象 / 51
  • 3.4导演类 / 54
  • 3.4.1Director类的成员数据 / 54
  • 3.4.2Director类的函数 / 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.1Layer类的函数 / 64
  • 3.6.2颜色布景层类LayerColor / 65
  • 3.6.3菜单类Menu / 68
  • 3.7图形绘制类 / 70
  • 3.8时间调度的使用 / 73
  • 3.9Ref类和内存管理 / 73
  • 3.10本章小结 / 74
  • 第4章Cocos2D-X中的图片渲染类 / 75
  • 4.1精灵类 / 75
  • 4.1.1Sprite类的成员及函数 / 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.4Cocos2D-X中如何节约图片空间 / 92
  • 4.4.1图片打包器TexturePacker / 92
  • 4.4.2通过优化降低游戏尺寸的方法 / 95
  • 4.5本章小结 / 96
  • 第5章Cocos2D-X中的动作、特效与动画 / 97
  • 5.1动作类 / 97
  • 5.1.1Action类的主要成员数据和函数 / 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.3Cocos2D-X中的网格动作 / 127
  • 5.3.1Cocos2D-X中的网格 / 127
  • 5.3.2网格动作 / 127
  • 5.3.3清除网格 / 129
  • 5.4Cocos2D-X中的动画 / 130
  • 5.4.1Cocos2D-X中与动画相关的类 / 130
  • 5.4.2Cocos2D-X中的动画实例 / 131
  • 5.4.3使用plist配置文件实现动画 / 133
  • 5.4.4Flash动画的转换 / 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.1LableAtlas类 / 142
  • 6.2.2LabelTTF类 / 143
  • 6.2.3LabelBMFont类 / 147
  • 6.2.4Label标签类 / 151
  • 6.2.5FreeType字体库 / 152
  • 6.2.6富文本类RichText / 153
  • 6.3本章小结 / 154
  • 第7章Cocos2D-X中的事件处理机制和UI控件 / 155
  • 7.1Cocos2D-X中的事件处理机制 / 155
  • 7.2Cocos2D-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.3Cocos2D-X中的加速度传感器事件 / 165
  • 7.3.1Acceleration结构体 / 165
  • 7.3.2实战:加速度传感器事件的使用 / 166
  • 7.4Cocos2D-X中的按键事件 / 167
  • 7.5UI控件 / 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.2Cocos2D-X中和Tiled相关的类 / 181
  • 8.2.1Tiled数据文件 / 181
  • 8.2.2瓦片地图集类TMXTiledMap / 182
  • 8.2.3地图层类TMXLayer / 183
  • 8.2.4地图精灵组类TMXObjectGroup / 184
  • 8.3Cocos2D-X中使用地图和地图相关类 / 184
  • 8.3.1新建地图类并在地图中显示 / 184
  • 8.3.2普通视角地图获得对应位置图素 / 185
  • 8.3.345度角地图获得对应位置图素 / 187
  • 8.3.4GID值的使用 / 188
  • 8.3.5地图块属性的获得 / 189
  • 8.3.6在地图中加入精灵 / 190
  • 8.3.7精灵层的操作 / 192
  • 8.4本章小结 / 193
  • 第9章Cocos2D-X中的声音、存储和网络 / 194
  • 9.1Cocos2D-X中的声音 / 194
  • 9.1.1Cocos2D-X在不同平台下支持的声音 / 194
  • 9.1.2SimpleAudioEngine类的常用函数 / 195
  • 9.1.3实战:SimpleAudioEngine类的使用 / 196
  • 9.2Cocos2D-X中的游戏存档 / 197
  • 9.2.1UserDefault类的常用函数 / 197
  • 9.2.2实战:UserDefault类的使用 / 198
  • 9.3Cocos2D-X中的网络连接 / 200
  • 9.3.1cURL基础知识 / 200
  • 9.3.2HttpClient类 / 203
  • 9.3.3Socket类 / 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.2Cocos2D-X中的Box2D / 207
  • 10.2.1Box2D中的重要概念 / 207
  • 10.2.2Box2D的使用步骤 / 208
  • 10.3Cocos2D-X中的Chipmunk / 213
  • 10.4物理精灵类PhysicsSprite / 215
  • 10.5本章小结 / 216
  • 第二部分高级篇
  • 第11章Cocos2D-X中的脚本语言——Lua / 218
  • 11.1Lua基本介绍 / 218
  • 11.1.1Lua的变量及内置类型 / 219
  • 11.1.2Lua的操作符和控制结构 / 221
  • 11.1.3Lua中的全局函数 / 222
  • 11.1.4在Lua中实现面向对象 / 223
  • 11.2Lua与Cocos2D-X的结合 / 225
  • 11.2.1C++调用Lua / 225
  • 11.2.2Lua调用C++ / 226
  • 11.3Cocos2D-X的Lua相关框架 / 230
  • 11.4本章小结 / 231
  • 第12章Cocos2D-X中的脚本语言——JavaScript / 232
  • 12.1认识HTML5 / 232
  • 12.2JavaScript基本介绍 / 233
  • 12.2.1JavaScript的变量和内置类型 / 234
  • 12.2.2JavaScript的操作符和控制结构 / 236
  • 12.2.3在JavaScript中实现面向对象 / 237
  • 12.3搭建HTML5开发环境 / 238
  • 12.4Cocos2D-JS的HTML5运行原理 / 240
  • 12.5JavaScript与Cocos2D-X的结合 / 244
  • 12.5.1C++调用JavaScript / 245
  • 12.5.2JavaScript调用C++ / 246
  • 12.6本章小结 / 248
  • 第13章游戏中常用算法在Cocos2D-X中的实现 / 249
  • 13.1A星算法 / 249
  • 13.1.1启发式搜索算法原理 / 249
  • 13.1.2什么是A星搜索 / 250
  • 13.1.3A星算法在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.2Cocos2D-X中的粒子系统 / 273
  • 14.2.1粒子批处理类ParticleBatchNode / 274
  • 14.2.2粒子系统基类ParticleSystem / 275
  • 14.2.3粒子系统子类ParticleSystemQuad / 276
  • 14.2.4ParticleSystem中的属性介绍 / 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.1Windows粒子编辑器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.1shader程序的编译执行流程 / 303
  • 15.3.2shader执行者GLProgram类 / 303
  • 15.3.3shader管理者ShaderCache类 / 304
  • 15.3.4在Cocos2D-X中创建并使用shader / 305
  • 15.4实战:图片灰化 / 306
  • 15.5本章小结 / 308
  • 第16章Cocos2D-X相关的编辑器 / 309
  • 16.1CocosBuilder简介 / 309
  • 16.1.1CocosBuilder菜单操作 / 309
  • 16.1.2对象属性编辑 / 313
  • 16.1.3CocosBuilder在Cocos2D-X中常用的相关类 / 318
  • 16.1.4实战:CocosBuilder应用 / 319
  • 16.2CocoStudio简介 / 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.1Lua游戏框架实现 / 399
  • 20.3.2开始界面模块的实现 / 402
  • 20.3.3游戏主逻辑的实现 / 405
  • 20.4本章小结 / 415
  • 附录Cocos2D-X中常见的宏 / 416

资源下载

资源下载地址1:https://pan.baidu.com/s/1jcSHrOz7HyDHha-LXlqqkQ

网友留言