内容简介
Cocos2D-X是一款支持多平台的 2D 手机游戏引擎,支持iOS、Android、BlackBerry等众多平台。当前,很多移动平台流行的游戏,都是基于Cocos2D-X开发的。
《游戏设计与开发技术丛书:Cocos2D-X游戏开发技术精解》详细介绍如何使用Cocos2D-X引擎开发自己的移动平台游戏。全书共15章,主要内容包括:Cocos2D-X引擎简介;如何建立跨平台的开发环境;引擎的核心模块—渲染框架;如何实现动态画面和用户交互;二维游戏中背景的实现方法和技术;Box2D物理引擎;如何掌握声音引擎的用法;Cocos2D-X引擎的文件操作模块和内存管理机制;各种各样的粒子效果;如何掌握利用Lua脚本制作游戏的能力; Cocos2D-HTML5引擎版本;引擎的附加功能等。最后,本书和读者一起展望了Cocos2D-X引擎的未来。
作为Cocos2D-X的指南,《游戏设计与开发技术丛书:Cocos2D-X游戏开发技术精解》得到了Cocos2D-X引擎开发者的建议以及指导。本书适合对Cocos2D-X感兴趣的以及有志于学习和从事移动平台游戏开发的读者阅读参考。
作者简介
刘剑卓,有点文艺的IT男,会做美食的运动男,喜欢电影的80后。拥有八年的游戏开发经验,精通移动平台以及PC平台游戏的开发,在过往的职业生涯已有多款上线畅销游戏。拥有自主研发开发工具、引擎以及游戏产品的能力,有应用第三方先进引擎的开发经验,熟练使用多种编程语言、脚本语言以及3D渲染技术。热衷于国内外游戏行业状况和国际技术潮流,关注移动互联网以及游戏领域的发展。
内页插图
精彩书评
这是一本出色的Cocos2D-X入门书籍,对引擎的知识点的覆盖非常全面。书中对Box2D物理引擎和Lua脚本绑定的细致讲解,则是其他Cocos2D-X书籍中难得一见的。
——Cocos2D-X 游戏引擎作者 王哲
Cocos2D-X是一款移动领域使用广、性能佳的游戏引擎,而这本书堪称是Cocos2D-X的指南。想要做好游戏的开发者案头必备。
—— IBM中国商业价值研究院高级分析师 刘京华
通过这本书不仅可以了解游戏的开发制作,你还可以看清楚了游戏的发展。
—— 深圳亚鼎科技有限公司 信息系统部总监 方擎
Cocos2D-X功能十分丰富,而且简单易用,能帮助新手迅速成为优秀的开发者,在游戏的道路上走得更远。这本书讲的很细,适合各层次的编程人员使用,强烈推荐。
—— 东冉科技股份有限公司首席架构师 郭锋
目录
第1章 Cocos2D-X引擎的介绍
1.1 何为游戏引擎
1.1.1 游戏的核心——引擎
1.1.2 引擎的特点
1.1.3 知名的引擎介绍
1.1.4 引擎的分类
1.2 Cocos2D-X引擎的来历
1.3 引擎的版本
1.4 下载与安装
1.5 引擎的组成
1.6 技术文档
1.7 成功的游戏
1.8 Cocos2D-X引擎的体系
1.9 Cocos2D-X引擎的版权声明
1.10 本章小结
第2章 Cocos2D-X引擎的开发环境
2.1 跨平台的开发
2.2 建立开发环境
2.2.1 PC开发环境
2.2.2 Android开发环境
2.2.3 iOS开发环境
2.3 引擎中的混合编译
2.3.1 Java与C++的混合编译
2.3.2 Objective-C与C++的混合编译
2.4 引擎的起点
2.4.1 应用程序入口
2.4.2 引擎应用入口
2.5 丰富的示例程序
2.5.1 TestCpp示例项目
2.5.2 脚本示例项目
2.5.3 MoonWarriors示例项目
2.6 本章小结
第3章 引擎的核心——渲染框架
3.1 基本框架
3.1.1 引擎的位置
3.1.2 根源种子
3.1.3 子类结构
3.2 渲染框架
3.2.1 框架结构
3.2.2 摄像机类(CCCamera)
3.2.3 导演类(CCDirector)
3.2.4 场景类(CCScene)
3.2.5 图层类(CCLayer)
3.2.6 精灵类(CCSprite)
3.2.7 精灵集合类(CCSpriteBatchNode)
3.2.8 精灵帧缓冲(CCSpriteFrameCache)
3.2.9 Zwoptex纹理编辑器
3.3 文字与字体
3.3.1 TTF类型标签(CCLabelTTF)
3.3.2 BMFont标签类(CCLabelBMFont)
3.3.3 Atlas标签类(CCLabelAtlas)
3.4 菜单按钮
3.5 几何绘制DrawPrimitives
3.6 CocosBuilder编辑器
3.6.1 CocosBuilder使用指南
3.6.2 引擎中的应用
3.7 本章小结
第4章 动作功能
4.1 概述
4.2 动作基类
4.2.1 动作类的继承关系
4.2.2 动作基类CCAction的成员函数
4.2.3 类CCNode中与动作有关的函数
4.3 时间动作
4.3.1 即时动作
4.3.2 持续动作
4.4 组合动作类
4.4.1 序列动作类(CCSequence)
4.4.2 同步动作类(CCSpawn)
4.4.3 重复动作类(CCRepeat &CCRepeatForever;)
4.5 可变速度类(CCEaseAction)
4.5.1 CCEaseIn、CCEaseOut和CCEaseInOut
4.5.2 EaseSineIn、EaseSineOut和EaseSineInOut
4.5.3 CCEaseBackIn、CCEaseBackOut和CCEaseBackInOut
4.5.4 EaseExponentialIn、EaseExponentialOut和EaseExponentialInOut
4.5.5 CCEaseBounceIn、CCBounceOut和CCBounceInOut
4.5.6 CCEaseElasticIn、CCEaseElasticOut和CCEaseElasticInOut
4.6 速度类(CCSpeed)
4.7 延迟动作类(CCDelay)
4.8 跟随动作类(CCFollow)
4.9 扩展动作类
4.9.1 概述
4.9.2 翻页动作(CCPageTurn3D)
4.9.3 波纹动作(CCWaves3D)
4.9.4 格子动作类(CCGridAction)
4.10 动画动作类
4.10.1 精灵帧
4.10.2 精灵帧缓冲
4.10.3 动画类
4.10.4 动画动作
4.11 动画编辑器
4.11.1 概述
4.11.2 CocosBuilder编辑器中的精灵动画
4.11.3 SpriteX草莓编辑器
4.11.4 MotionWelder动画编辑器
4.12 样例程序
4.13 本章小结
第5章 用户交互
5.1 概述
5.2 玩家交互信息
5.3 触摸操作的处理机制
5.4 接收操作
5.5 分发机制
5.6 处理响应
5.7 多点触碰
5.8 加速计的响应函数
5.9 本章小结
第6章 游戏背景
6.1 概述
6.2 2D游戏背景的类型
6.3 砖块地图Tile Map
6.4 砖块地图编辑器
6.4.1 地图编辑器概述
6.4.2 Tile Map Editor(砖块地图编辑器)
6.4.3 制作一张游戏地图
6.4.4 编辑器中的属性功能
6.5 地图数据的格式
6.5.1 编辑器导出的文件
6.5.2 地图文件分析
6.6 砖块地图的实现
6.6.1 砖块地图类CCTMXTiledMap
6.6.2 地图图层类CCTMXLayer
6.6.3 地图物体层CCTMXObjectGroup
6.7 示例项目
6.8 背景的滚动与角色移动
6.9 多层背景滚动效果
6.10 本章小结
第7章 物理模拟与碰撞检测
7.1 概述
7.2 游戏中的碰撞检测
7.3 碰撞检测的方法
7.3.1 平面几何在碰撞检测中的应用
7.3.2 物体的包围盒
7.3.3 AABB碰撞检测技术
7.4 基本物理知识
7.5 你好!Box2D!
7.5.1 概述
7.5.2 物理世界
7.5.3 游戏中的两个世界
7.6 Box2D的基础知识
7.6.1 概述
7.6.2 概念定义
7.6.3 物理引擎的模块
7.7 引擎内核
7.7.1 基本配置
7.7.2 内存管理机制
7.7.3 工厂模式
7.7.4 数据单位
7.7.5 用户数据
7.8 物理世界World
7.8.1 创建和摧毁一个世界
7.8.2 让世界运转起来
7.8.3 探索世界
7.8.4 AABB查询
7.8.5 光线投射(Ray Casts)
7.9 形状Shapes
7.9.1 碰撞模块
7.9.2 形状Shape的作用
7.9.3 圆形(Circle Shapes)
7.9.4 多边形(b2PolygonShape)
7.10 框架Fixtures
7.10.1 动态模块(DynamicsModule)
7.10.2 框架(Fixtures)
7.10.3 密度(Density)
7.10.4 摩擦(Friction)
7.10.5 恢复(Restitution)
7.10.6 筛选(Filtering)
7.10.7 感应器(Sensors)
7.11 物体Bodies
7.11.1 物体定义
7.11.2 位置和角度(Position and Angle)
7.11.3 阻尼(Damping)
7.11.4 休眠参数(Sleep Parameters)
7.11.5 固定旋转(Fixed Rotation)
7.11.6 子弹(Bullets)
7.11.7 活动状态(Activation)
7.11.8 用户数据(User Data)
7.12 关节(Joints)
7.12.1 关节的定义(JointDef)
7.12.2 关节的属性
7.12.3 距离关节(Distance Joint)
7.12.4 旋转关节(Revolute Joint)
7.12.5 移动关节(Prismatic Joint)
7.12.6 滑轮关节(Pulley Joint)
7.12.7 齿轮关节(Gear Joint)
7.12.8 鼠标关节(Mouse Joint)
7.12.9 线性关节(Line Joint)
7.12.10 焊接关节(Weld Joint)
7.13 接触(Contants)
7.13.1 概述
7.13.2 接触类(Contact Class)
7.13.3 访问接触(Accessing Contacts)
7.13.4 接触监听器(Contact Listener)
7.13.5 接触筛选(Contact Filtering)
7.14 示例项目
7.14.1 Box2dTest示例项目
7.14.2 调试绘图DebugDraw
7.14.3 创建精灵刚体
7.15 本章小结
第8章 游戏中的声音
8.1 概述
8.2 音乐与音效
8.3 声音格式
8.4 CocosDenshion声音模块
8.5 背景音乐操作函数
8.6 声音音效操作函数
8.7 示例程序
8.8 本章小结
第9章 文件操作模块
9.1 概述
9.2 引擎文件操作模块
9.3 读取文件
9.4 写入文件
9.5 游戏中用户数据
9.5.1 游戏中的用户数据
9.5.2 用户数据的基本类型
9.5.3 读取与写入操作
9.6 示例程序
9.7 本章小结
第10章 内存管理机制
10.1 内存管理概述
10.2 引用计数
10.3 自动释放池
10.3.1 使用方法
10.3.2 实现原理
10.4 管理模式
10.4.1 引擎当中的应用
10.4.2 缓冲区
10.5 日志调试方式
10.6 本章小结
第11章 粒子系统
11.1 概述
11.2 粒子效果
11.3 粒子系统的来历
11.4 引擎当中的粒子系统
11.5 粒子的生命周期
11.6 粒子的属性
11.7 粒子发射器属性
11.7.1 发射器共有的属性
11.7.2 重力发射器模式(Gravity)
11.7.3 半径发射器模式(Radius)
11.8 粒子效果编辑器
11.8.1 概述
11.8.2 Particle Designer的使用方法
11.8.3 引擎中应用
11.9 本章小结
第12章 Lua脚本语言
12.1 概述
12.2 Lua脚本语言简介
12.3 为什么需要它?
12.3.1 简易性
12.3.2 可扩展性
12.3.3 高效性
12.3.4 可移植性
12.4 Lua脚本语言的语法
12.4.1 类型与数值
12.4.2 表达式
12.4.3 语句
12.4.4 函数
12.5 Lua在引擎中的应用
12.5.1 Lua与C/C++
12.5.2 引擎中的脚本引擎
12.6 样例程序
12.6.1 脚本引擎初始化
12.6.2 游戏内容的实现脚本
12.6.3 农场层的实现
12.6.4 菜单层的实现
12.7 本章小结
第13章 Cocos2D-HTML5引擎版本
13.1 概述
13.2 HTML的发展史
13.2.1 HTML版本
13.2.2 XHTML版本
13.2.3 HTML5是未来之星
13.3 HTML5新特性
13.3.1 跨平台的特性
13.3.2 Canvas API
13.3.3 WebGL
13.3.4 其他特性
13.4 JavaScript语言基础
13.4.1 概述
13.4.2 变量
13.4.3 数据类型
13.4.4 运算符
13.4.5 语句
13.4.6 对象
13.4.7 函数
13.4.8 事件
13.5 Cocos2d-HTML5引擎
13.5.1 HTML5版本介绍
13.5.2 安装引擎
13.5.3 示例程序
13.5.4 引擎的架构
13.6 JS Binding技术的实现
13.6.1 概述
13.6.2 SpiderMonkey
13.6.3 示例程序
13.7 本章小结
第14章 引擎之外的附加功能
14.1 概述
14.2 网络通信支持
14.2.1 HTTP介绍
14.2.2 curl库(libcurl)
14.2.3 HTTP在引擎中的应用
14.2.4 HTTP示例项目
14.2.5 Socket的介绍
14.2.6 BSD Socket在引擎中的应用
14.3 收费模式
14.3.1 下载计费
14.3.2 内置计费
14.3.3 广告版本
14.4 社交网络在游戏中的应用
14.4.1 Game Center
14.4.2 OpenFeint
14.5 数据分析
14.5.1 Flurry介绍
14.5.2 友盟
第15章 Cocos2D-X引擎的未来
15.1 概述
15.2 Cocos2D引擎的走势
15.3 Cocos2D-X引擎的不足
15.3.1 丰富的UI
15.3.2 完善的工具
15.3.3 支持网络通信
15.3.4 版本的统一
15.3.5 数据安全
15.4 Cocos2D-X引擎增强的功能
15.4.1 良好的中文支持
15.4.2 游戏基本框架
15.4.3 游戏逻辑支持
15.4.4 脚本化编程
15.4.5 可视化的操作界面
15.5 会不会有Cocos3D
15.6 本章小结
Cocos2D-X游戏开发技术精解 赠光盘1张 下载 mobi epub pdf txt 电子书 格式