编辑推荐
《Cocos2d-X 3.0游戏开发实战详解》全面讲解了最新的Cocos2d-x 3.0的新功能、新应用。
涵盖了当下流行的多种游戏开发技术:
粒子系统、TMX瓦片地图、传感器体感操控、多点触控、多线程、网络连接、Box2D物理引擎、LiquidFun流体引擎、Lua脚本、CocoStudio。
Android与iOS两大平台的实战案例:
射击类游戏—让子弹飞、休闲类游戏—泡泡龙。
内容覆盖了从学习Cocos2d-x必知必会的基础知识到基于Cocos2d-x引擎实现各种高级特效
详细介绍了如何结合Box2D物理引擎进行游戏开发
内容简介
随着智能手机的普及,一些可玩性强的手机游戏应用也逐渐普及开来。《Cocos2d-X 3.0游戏开发实战详解》结合作者多年从事游戏应用开发的经验,全面介绍了与Cocos2d-x引擎相关的必知必会的基础知识及完整的游戏案例。内容安排上由浅入深、循序渐进,起点低、终点高,既适合初学者学习,也适合有一定基础的读者进一步提升之用。另外,由于Cocos2d-x引擎通用于各种移动嵌入式平台,因此,书中除了提供在Android平台下开发的案例之外,还提供了在iOS平台下开发的案例。
《Cocos2d-X 3.0游戏开发实战详解》共分为12章,其中第1~6章主要介绍了使用Cocos2d-x引擎进行游戏开发时必知必会的基础知识,包括各种特效、粒子系统、TMX瓦片地图、声音、操控、网络连接等;第7章详细介绍了Box2D物理引擎的使用,同时还介绍了扩展自Box2D,用于流体开发的LiquidFun物理引擎;第8~10章介绍了Cocos2d-x引擎的一些高级知识,主要包括高级扩展控件、Lua协同开发、CocoStudio等;最后的两章分别给出了Android与iOS平台下的两大完整游戏案例。
同时为了便于读者的学习,《Cocos2d-X 3.0游戏开发实战详解》附赠的光盘中包含了书中所有案例的完整代码,最大限度地帮助读者快速掌握相应的开发技术。《Cocos2d-X 3.0游戏开发实战详解》适合Android/iOS程序员、游戏开发者及爱好者学习,也可以作为相关培训学校和大专院校相关专业的教学用书。
作者简介
吴亚峰,毕业于北京邮电大学,后留学澳大利亚卧龙岗大学取得硕士学位。1998年开始从事Java应用的开发,有10多年的Java开发与培训经验。主要的研究方向为OpenGL ES、手机游戏、Java EE以及搜索引擎。同时为手机游戏、Java EE独立软件开发工程师,并兼任百纳科技Java培训中心首席培训师。近十年来为数十家著名企业培养了上千名高级软件开发人员,曾编写过《Cocos2d-X案例开发大全》、《Cocos2d-X 3.0游戏开发实战详解》、《Unity 4 3D开发实战详解》、《OpenGL ES 2.0游戏开发(上下卷)》、《Android 3D游戏开发技术宝典——OpenGL ES 2.0》、《Android游戏开发大全》等多本畅销技术书籍。2008年初开始关注Android平台下的3D应用开发,并开发出一系列优秀的Android应用程序与3D游戏。
内页插图
目录
第1章初识庐山真面目--Cocos2d-x1.1Cocos2d-x概述1.1.1Cocos2d-x的前世今生1.1.2初见Cocos2d-x1.1.3Cocos2d-x市场前景1.2AndroidSDK的下载及配置1.2.1AndroidSDK的下载1.2.2AndroidSDK的配置1.3Cygwin的下载及安装1.3.1Cygwin的下载1.3.2Cygwin的安装1.4AndroidNDK的下载及配置1.5Cocos2d-x的下载及配置1.6Android项目的导入与创建1.6.1简单案例HelloCocos2dX的导入与运行1.6.2Cocos2d案例导入后的相关修改1.6.3创建自己的Android项目1.6.4项目结构的介绍1.7iOS项目的创建及开发1.7.1iOS项目的创建1.7.2iOS项目的开发1.8本章小结
第2章千里之行,始于足下--Cocos2d-x基础2.1Cocos2d-x中的一些基本概念2.1.1几个重要的基本概念2.1.2导演类--Director2.1.3节点类--Node2.1.4两个辅助类Point和Size2.1.5场景类--Scene2.1.6布景类--Layer2.2精灵类--Sprite2.2.1精灵类的基础知识2.2.2精灵类简单案例的开发2.3海量精灵的性能问题2.3.1一个创建海量精灵的案例2.3.2SpriteBatchNode类的基础知识2.3.3用SpriteBatchNode类创建海量精灵的案例2.4Cocos2d-x中的基本控件2.4.1基础知识2.4.2一个简单的案例2.5基本动作类2.5.1基础知识2.5.2移动相关动作2.5.3自身变换相关动作2.5.4颜色变化相关动作2.5.5瞬时动作2.5.6组合动作2.6换帧精灵2.6.1相关类的基础知识2.6.2一个简单的案例2.6.3精灵帧缓冲相关类基础知识2.6.4简单案例的帧缓冲版2.7资源图片的异步加载2.7.1基础知识2.7.2一个简单案例的开发2.8简单的骨骼动画2.8.1基本原理2.8.2一个简单的案例2.9Scale9精灵2.9.1Scale9精灵基础知识2.9.2一个简单的案例2.10本章小结
第3章让你的游戏更有吸引力--动作特效与场景切换特效3.1动作特效的使用3.1.13D振动特效3.1.23D瓦片振动特效3.1.33D瓦片碎裂特效3.1.4爆炸特效3.1.5瓦片消失特效3.1.63D瓦片跳跃特效3.1.7切开行特效3.1.8切开列特效3.1.93D翻页特效3.1.103D波浪特效3.1.113D瓦片波浪特效3.1.123D鱼眼特效3.1.133D水波涟漪特效3.1.14流体特效3.1.15顶右淡出特效3.1.16底左淡出特效3.1.17向上淡出特效3.1.18向下淡出特效3.1.193D绕x轴旋转特效3.1.203D绕y轴旋转特效3.1.21可扭曲波浪特效3.1.22旋转扭曲特效3.2百分比动作特效3.2.1百分比动作的基础知识3.2.2ProgressTimer类的基础知识3.2.3半径模式特效3.2.4水平模式特效3.2.5垂直模式特效3.3场景切换特效的使用3.3.1场景切换特效概览3.3.2跳跃切换特效3.3.3逆时针和顺时针切换特效3.3.4水平和垂直切换特效3.3.5从内向外和从外向内切换特效3.3.6淡出和可变色淡出切换特效3.3.7翻页切换特效3.3.8方向淡化切换特效3.3.9瓦片消失切换特效3.3.10列分割和行分割切换特效3.3.11绕定轴翻转切换特效3.3.12可缩放绕指定轴翻转切换特效3.3.13缩放和旋转切换特效3.3.14下一场景移动覆盖原场景切换特效3.3.15下一场景滑至出现切换特效3.3.16场景切换特效综合案例3.4本章小结
第4章更逼真的视觉效果--粒子系统4.1内置粒子系统的使用4.1.1内置粒子系统概览4.1.2炙热的太阳效果4.1.3焰火效果4.1.4火焰效果4.1.5星系效果4.1.6绽放效果4.1.7流星效果4.1.8螺旋效果4.1.9爆炸效果4.1.10烟雾效果4.1.11下雪效果4.1.12下雨效果4.2加载plist粒子系统4.2.1粒子设计器的使用4.2.2粒子系统的位置类型4.2.3加载plist文件4.3本章小结
第5章必知必会的开发技术--杂项5.12D图元的绘制5.2触控及多点触控5.2.1基础知识5.2.2单点触控的案例5.2.3多点触控的案例5.3百纳游戏摇杆5.3.1基本知识5.3.2一个简单的案例5.4重力传感器的使用5.5键盘事件的处理5.6用户数据的存储5.7声音的播放5.8在Cocos2d-x中使用多线程5.9文件输入/输出5.10网络功能的开发5.10.1连接HTTP网络服务器5.10.2连接WebSocket服务器5.11多分辨率屏幕的自适应5.11.1非等比例缩放5.11.2等比例缩放并裁剪5.11.3等比例缩放并留白5.11.4Cocos2d-x中的实现5.12本章小结
第6章绚丽的地图设计--TMX瓦片地图6.1正方形瓦片地图6.1.1应用正方形瓦片地图的实例6.1.2正方形地图的基本原理6.1.3正方形地图的特点6.1.4正方形地图的实现原理6.1.5正方形瓦片地图设计器6.1.6TMX瓦片地图的相关类6.2正方形瓦片地图案例6.2.1正方形地图案例概览6.2.2程序的总管AppDelegate类的开发6.2.3场景管理类TilesMapSimpleSceneManager的开发6.2.4布景层类TilesMapSimpleLayer的开发6.2.5英雄精灵动画的开发6.2.6控制英雄移动工具类DirectionUtil的开发6.2.7案例控制层类ControlLayer基本框架的搭建6.2.8案例控制层类ControlLayer中各控制方法的开发6.3正六边形瓦片地图6.3.1正六边形地图的原理及特点6.3.2正六边形地图的设计6.3.3正六边形地图的导入案例6.4正六边形地图的路径搜索6.4.1路径搜索示例基本框架的搭建6.4.2深度优先路径搜索算法DFS6.4.3深度优先路径搜索算法DFS的实现6.4.4广度优先路径搜索算法BFS6.4.5广度优先路径搜索算法BFS的实现6.4.6Dijkstra路径搜索算法6.4.7Dijkstra路径搜索算法的实现6.4.8用A*思想优化广度优先路径搜索6.4.9用A*思想优化Dijkstra路径搜索6.5本章小结
第7章游戏开发的核心--Box2D物理引擎7.1物理引擎很重要7.1.1什么是物理引擎7.1.2常见的物理引擎7.22D的王者Box2D7.2.1基本的物理学概念7.2.2Box2D中常用类的介绍7.3木块金字塔被撞击案例7.3.1案例运行效果7.3.2案例的基本框架结构7.3.3常量头文件--Constant头文件7.3.4物体类--PhyObject类7.3.5圆形物体类--CirclePhyObject类7.3.6矩形物体类--RectPhyObject类7.3.7多边形物体类--PolygonObject类7.3.8场景类--Box2DSceneManager类7.3.9布景类--Box2DLayer类7.4简易打砖块案例7.4.1案例运行效果7.4.2需要了解的结构体与类7.4.3碰撞监听器--MyContactListener类7.4.4布景类--Box2DLayer类7.5物体碰撞下落案例7.5.1案例运行效果7.5.2碰撞过滤器--b2ContactFilter类7.5.3碰撞过滤相关类的开发7.5.4布景类--Box2DLayer类7.6关节--Joint7.6.1关节定义--b2JointDef结构体7.6.2距离关节描述--b2DistanceJointDef结构体7.6.3距离关节案例--小球下摆7.6.4旋转关节描述--b2RevoluteJointDef结构体7.6.5旋转关节案例--转动的风扇与跷跷板7.6.6鼠标关节描述--b2MouseJointDef结构体7.6.7鼠标关节案例--物体下落7.6.8移动关节描述--b2PrismaticJointDef结构体7.6.9移动关节案例--定向移动的木块7.6.10齿轮关节描述--b2GearJointDef结构体7.6.11齿轮关节案例--转动的齿轮7.6.12焊接关节描述--b2WeldJointDef结构体7.6.13焊接关节案例--有弹性的木板7.6.14滑轮关节描述--b2PulleyJointDef结构体7.6.15滑轮关节案例--移动的木块7.6.16车轮关节描述--b2WheelJointDef结构体7.6.17车轮关节案例--运动的小车7.6.18绳索关节描述--b2RopeJointDef结构体7.6.19绳索关节案例--掉落的糖果7.7模拟传送带案例7.7.1案例运行效果7.7.2碰撞监听器--MyContactListener类7.7.3布景类--Box2DLayer类7.8光线投射案例7.8.1案例运行效果7.8.2b2RayCastInput结构体与b2RayCastOutput结构体7.8.3光线检测类--MyRayCast类7.8.4布景类--Box2DLayer类7.9模拟爆炸案例7.9.1案例运行效果7.9.2光线投射回调类--b2RayCastCallback类7.9.3自身的光线投射回调类--RayCastClosestCallback类7.9.4布景类--Box2DLayer类7.10LiquidFun流体物理引擎7.10.1LiquidFun流体物理引擎的相关知识7.10.2波浪制造机案例7.10.3软体案例7.11本章小结
第8章更加丰富的游戏功能--扩展2D控件8.1UI系列控件8.1.1基础知识8.1.2fnt字体文件的制作8.1.3几个简单的案例8.2Control系列控件8.2.1基础知识8.2.2几个简单的案例8.3EditBox控件8.3.1基础知识8.3.2一个简单的使用案例8.4TableView控件8.4.1基础知识8.4.2表格控件的使用案例8.5本章小结
第9章开发游戏的利器--Lua的使用9.1概述9.2Lua脚本语言简介9.2.1简易性9.2.2高效性9.2.3可扩展性9.2.4可移植性9.3Lua脚本语言的基本语法9.3.1数值与类型9.3.2表达式9.3.3语句9.3.4函数9.4使用Lua搭建场景的案例9.5使用Lua调用C++的案例9.6本章小结
第10章便捷的游戏开发工具--CocoStudio10.1CocoStudio的下载及安装10.1.1CocoStudio的下载10.1.2CocoStudio的安装10.2动画编辑器的使用及相关文件的加载10.2.1用动画编辑器制作骨骼动画10.2.2用动画编辑器制作换帧动画10.2.3加载及使用动画的相关知识10.2.4一个简单案例的开发10.3控件编辑器的使用及相关文件的加载10.3.1控件编辑器的使用10.3.2加载及使用控件的相关知识10.3.3一个简单案例的开发10.4场景编辑器的使用及相关文件的加载10.4.1场景编辑器的使用10.4.2加载及使用场景的相关知识10.4.3一个简单案例的开发10.5数据编辑器的使用及相关文件的加载10.5.1数据编辑器的使用10.5.2数据获取的相关知识10.5.3一个简单案例的开发10.6本章小结
第11章综合案例--让子弹飞11.1游戏的背景及功能概述11.1.1游戏开发背景概述11.1.2游戏功能简介11.2游戏的策划及准备工作11.2.1游戏的策划11.2.2Android平台下游戏开发的准备工作11.3游戏的架构11.3.1各个类的简要介绍11.3.2游戏框架简介11.4布景相关类11.4.1场景管理类BulletsSceneManager11.4.2欢迎布景类LoadLayer11.4.3菜单布景类MenuLayer11.4.4排行榜布景类RankLayer11.4.5关于布景类AboutLayer11.4.6帮助布景类HelpLayer11.4.7游戏布景类BulletsLayer11.5游戏开发的辅助类11.5.1普通飞机辅助类NormalPlane11.5.2大飞机辅助类BigPlane11.5.3道具辅助类Property11.6工具及常量类11.7引擎引用入口类--AppDelegate11.8游戏的优化及改进
第12章综合案例--泡泡龙游戏12.1游戏的背景及功能概述12.1.1游戏开发的背景概述12.1.2游戏的功能介绍12.2游戏的策划及准备工作12.2.1游戏的策划12.2.2iOS平台下游戏的准备工作12.3游戏的架构12.3.1游戏中各类的简要介绍12.3.2游戏的框架简介12.4游戏常量头文件--AppMacros12.5场景相关类12.5.1游戏场景管理类--ShootBubbleSceneManager12.5.2主场景布景类--StartLayer12.5.3选关布景类--ChooseGKLayer12.5.4游戏布景类--ShootBubbleLayer12.5.5帮助布景类--HelpLayer12.5.6排行榜布景类--JFBLayer12.5.7关于布景类--AboutUSLayer12.6引擎引用入口类--AppDelegate12.7游戏的优化及改进12.8本章小结
前言/序言
Cocos2d-X 3.0游戏开发实战详解 下载 mobi epub pdf txt 电子书 格式