logo
分类于: 编程语言 计算机基础 互联网 云计算&大数据

简介

Cocos2d-x游戏实战指南

Cocos2d-x游戏实战指南 0.0分

资源最后更新于 2020-03-29 03:37:41

作者:李宁

出版社:出版社清华大学出版社

出版日期:2016-11

文件格式: pdf

标签: 互联网 开发 游戏 编程 软件

简介· · · · · ·

Cocos2d-x游戏实战指南》融合了作者多年的游戏开发经验和丰富的培训经验,深入浅出地介绍了Cocos2d-x各方面的知识,从开发环境搭建,到控件、菜单、Action等常用技术,再到Sprite3D、粒子系统、瓦片地图、物理引擎、骨骼动画、混合开发等高级技术,最后还通过一个完整的游戏案例《星空大战》来贯穿整个知识体系,帮助读者将理论知识和实际项目开发进行完美的结合。本书配套全新设计的案例演示系统,便于准确寻找对应章节的演示程序;知识点极为丰富,涵盖了所有Cocos2d-x游戏开发的核心内容;通过数万行代码和近百个案例,深入地学习各种开发技巧;商业级游戏案例,体验游戏开发的完整过程。李宁,曾获东北大学计算机专业硕士学位,拥有超过20年软件开发经验、7年移动应用和手机游戏开发经验,欧瑞科技创始人&CEO。获得CVP(Cocos最有价值专家)荣誉称号。长期担任企业内训讲师(已经为上百家企业提供了移动开发培训,培训学员数干名)、高级技术顾问。10年来,出版了30多本IT图书,并在个人博客撰写了1000万字以上的技术文章。在移动开发领域有极其丰富的经验,领导团队开发了大量的移动App及游戏产品。先后为多家培训机构开设了移动开发就业课程,被聘为51CTO学院特级讲师。截至目前,已经发布了53个课程,累计2279个课时,包括“完全征服ReactNative”“从零开始掌握Cocos2d—x3.x”“Java Script/ES6/ES7系列课程”“iOS8/iOS9系列课程”“苹果Swifc语言开发精品套餐课程”等,累计培训学员近50万人,好评率达96%。本书配套视频教程《Cocos2d—x3×系列》也在51CTO学院独家发布,自上线以来已有近20万名学员学习,受到了51CTO社区广大开发者的一致推崇。

想要: 点击会收藏到你的 我的收藏,可以在这里查看

已收: 表示已经收藏

Tips: 注册一个用户 可以通过用户中心得到电子书更新的通知哦

目录

  1. 作者简介
  2. 内容简介
  3. 前言 PREFACE
  4. 第1章 初识Cocos2d-x
  5. 1.1 跨平台的由来
  6. 1.2 跨平台开发模式的种类和优缺点
  7. 1.2.1 虚拟机与跨平台技术
  8. 1.2.2 Web与跨平台技术
  9. 1.2.3 跨平台编译技术
  10. 1.2.4 为每个平台定制本地应用
  11. 1.3 跨平台游戏引擎
  12. 1.3.1 什么是跨平台游戏引擎
  13. 1.3.2 有哪些游戏引擎可以跨平台
  14. 1.4 Cocos2d-x横空出世
  15. 1.4.1 Cocos2d-x的前世今生
  16. 1.4.2 Cocos2d-x的特点
  17. 1.5 小结
  18. 第2章 搭建和使用跨平台Cocos2d-x开发环境
  19. 2.1 使用Cocos2d-x开发游戏需要准备些什么
  20. 2.2 Cocos2d-x 3.10开发环境的最低要求
  21. 2.3 让Eclipse支持C++ 11
  22. 2.4 Cocos2d-x 3.10开发环境的安装、配置和使用
  23. 2.4.1 Cocos2d-x 3.10的目录结构
  24. 2.4.2 使用cocos建立跨平台工程
  25. 2.4.3 编译和运行Cocos2d-x 3.10 for iOS/Mac程序
  26. 2.4.4 编译和运行Cocos2d-x 3.10 for Android程序
  27. 2.4.5 编译和运行Cocos2d-x 3.10 for Win32程序
  28. 2.5 Cocos2d-x 3.10例子代码的使用
  29. 2.6 小结
  30. 第3章 Cocos2d-x默认工程模板的架构和源代码分析
  31. 3.1 Cocos2d-x实现跨平台的原理
  32. 3.2 默认场景类HelloWorldScene的实现原理分析
  33. 3.3 控制横竖屏切换
  34. 3.4 小结
  35. 第4章 Cocos2d-x中的核心类
  36. 4.1 导演类(Director)
  37. 4.1.1 Director类与初始化Cocos2d-x
  38. 4.1.2 结束、暂停与恢复Cocos2d-x程序
  39. 4.1.3 获取窗口的尺寸和位置
  40. 4.1.4 Director类中的其他成员方法
  41. 4.2 节点类(Node)
  42. 4.2.1 节点类的功能
  43. 4.2.2 节点类的成员方法
  44. 4.2.3 Cocos2d-x对象的创建、自动释放(Autorelease)与ARC
  45. 4.2.4 CREATE_FUNC宏与create方法
  46. 4.2.5 Cocos2d-x中的坐标系
  47. 4.2.6 节点的移动、缩放和旋转
  48. 4.3 场景类(Scene)
  49. 4.3.1 创建场景
  50. 4.3.2 运行和切换场景
  51. 4.3.3 场景切换的各种特效
  52. 4.4 图层类(Layer)
  53. 4.4.1 Layer类的基本应用
  54. 4.4.2 Layer的子类
  55. 4.4.3 颜色图层类(LayerColor)
  56. 4.4.4 颜色渐变图层类(LayerGradient)
  57. 4.4.5 多图层管理类(LayerMultiplex)
  58. 4.5 精灵类(Sprite)
  59. 4.5.1 Sprite类
  60. 4.5.2 贴图类(Texture2D)和贴图缓冲类(TextureCache)
  61. 4.5.3 精灵批处理类(SpriteBatchNode)
  62. 4.5.4 精灵框架类(SpriteFrame)
  63. 4.5.5 精灵框架缓冲类(SpriteFrameCache)
  64. 4.5.6 九宫格缩放精灵类(Scale9Sprite)
  65. 4.6 集合类(Vector和Map)
  66. 4.7 小结
  67. 第5章 标签、菜单与控件
  68. 5.1 标签类
  69. 5.1.1 LabelTTF标签 (使用TTF字体文件)
  70. 5.1.2 LabelAtlas标签 (需要截取图像)
  71. 5.1.3 LabelBMFont标签 (使用FNT字体文件)
  72. 5.1.4 生成FNT字体文件
  73. 5.2 菜单(Menu)与菜单项(MenuItem)
  74. 5.2.1 菜单(Menu)类
  75. 5.2.2 标签菜单项(MenuItemLabel)
  76. 5.2.3 字体菜单项(MenuItemFont)
  77. 5.2.4 精灵菜单项(MenuItemSprite)
  78. 5.2.5 图像菜单项(MenuItemImage)
  79. 5.2.6 开关菜单项(MenuItemToggle)
  80. 5.3 控件
  81. 5.3.1 UI布局(Layout)
  82. 5.3.2 文本控件(Text、TextAtlas和TextBMFont)
  83. 5.3.3 按钮控件(Button)
  84. 5.3.4 文本输入框控件(TextField)
  85. 5.3.5 高级文本输入框控件(EditBox)
  86. 5.3.6 复选框控件(CheckBox)
  87. 5.3.7 (ControlSwitch)
  88. 5.3.8 图像框控件(ImageView)
  89. 5.3.9 进度条控件(LoadingBar)
  90. 5.3.10 滑杆控件(Slider)
  91. 5.3.11 高级滑杆控件(ControlSlider)
  92. 5.3.12 步进控件(ControlStepper)
  93. 5.3.13 列表控件(ListView)
  94. 5.3.14 表格控件(TableView)
  95. 5.3.15 滚动视图控件(ScrollView)
  96. 5.3.16 分页控件(PageView)
  97. 5.3.17 颜色选择控件(ControlColourPicker)
  98. 5.4 小结
  99. 第6章 本地化
  100. 6.1 自适应屏幕分辨率
  101. 6.1.1 尺寸类型及屏幕适配原理
  102. 6.1.2 Cocos2d-x中的各种尺寸深度详解
  103. 6.1.3 分辨率策略(ResolutionPolicy)
  104. 6.1.4 通过设计尺寸进行屏幕适配
  105. 6.1.5 通过内容缩放因子进行屏幕适配
  106. 6.1.6 为每一个Node单独调整尺寸
  107. 6.2 Cocos2d-x多语言适配
  108. 6.3 小结
  109. 第7章 Cocos2d-x中的事件处理机制
  110. 7.1 触摸事件与移动节点
  111. 7.2 多点触摸
  112. 7.3 键盘响应事件
  113. 7.4 鼠标响应事件
  114. 7.5 加速度传感器事件
  115. 7.6 自定义事件
  116. 7.7 小结
  117. 第8章 网络技术
  118. 8.1 HttpClient类
  119. 8.1.1 发送Http Get请求
  120. 8.1.2 发送Http Post请求
  121. 8.2 WebSocket类
  122. 8.3 SocketIO类
  123. 8.4 小结
  124. 第9章 Cocos2d-x中的动作类
  125. 9.1 所有动作的基类(Action)
  126. 9.2 位置(Position)动作
  127. 9.2.1 沿直线匀速移动动作(MoveBy/MoveTo)
  128. 9.2.2 跳跃动作(JumpBy/JumpTo)
  129. 9.2.3 贝塞尔曲线动作(BezierBy/BezierTo)
  130. 9.2.4 固定张力的样条曲线动作(CatmullRomBy/CatmullRomTo)
  131. 9.2.5 可变张力的样条曲线动作(CardinalSplineBy/CardinalSplineTo)
  132. 9.3 旋转与缩放动作
  133. 9.3.1 旋转动作(RotateBy/RotateTo)
  134. 9.3.2 缩放动作(ScaleBy/ScaleTo)
  135. 9.4 执行规则动作
  136. 9.4.1 顺序执行动作(Sequence)
  137. 9.4.2 并行动作(Spawn)
  138. 9.4.3 重复执行动作(Repeat)
  139. 9.4.4 无限循环动作(RepeatForever)
  140. 9.4.5 反序动作(ResverseTime)
  141. 9.5 控制节点显示和隐藏的动作
  142. 9.5.1 闪烁动作(Blink)
  143. 9.5.2 淡入淡出动作(FadeIn/FadeOut)
  144. 9.5.3 透明度渐变动作(FadeTo)
  145. 9.5.4 颜色渐变动作(TintBy/TintTo)
  146. 9.6 可立即执行的动作
  147. 9.7 回调函数动作(CallFunc/CallFuncN)
  148. 9.8 变速动作(Ease Action)
  149. 9.8.1 幂加速动作(EaseIn)
  150. 9.8.2 幂减速动作(EaseOut)
  151. 9.8.3 幂加速减速动作(EaseInOut)
  152. 9.8.4 指数加速动作(EaseExponentialIn)
  153. 9.8.5 指数减速动作(EaseExponentialOut)
  154. 9.8.6 指数加速减速动作(EaseExponentialInOut)
  155. 9.8.7 正弦加速动作(EaseSineIn)
  156. 9.8.8 正弦减速动作(EaseSineOut)
  157. 9.8.9 正弦加速减速动作(EaseSineInOut)
  158. 9.8.10 弹性加速动作(EaseElasticIn)
  159. 9.8.11 弹性减速动作(EaseElasticOut)
  160. 9.8.12 弹性加速减速动作(EaseElasticInOut)
  161. 9.8.13 弹跳加速动作(EaseBounceIn)
  162. 9.8.14 弹跳减速动作(EaseBounceOut)
  163. 9.8.15 弹跳加速减速动作(EaseBounceInOut)
  164. 9.8.16 回退加速动作(EaseBackIn)
  165. 9.8.17 回退减速动作(EaseBackOut)
  166. 9.8.18 回退加速减速动作(EaseBackInOut)
  167. 9.9 网格动作(Grid Action)
  168. 9.9.1 实现测试网格动作的基类
  169. 9.9.2 2D波浪动作(Waves)
  170. 9.9.3 3D波浪动作(Waves3D)
  171. 9.9.4 水平3D翻转动作(FlipX3D)
  172. 9.9.5 垂直3D翻转动作(FlipY3D)
  173. 9.9.6 3D震动动作(Shake3D)
  174. 9.9.7 3D透镜动作(Lens3D)
  175. 9.9.8 3D波纹动作(Ripple3D)
  176. 9.9.9 流体动作(Liquid)
  177. 9.9.10 旋转变形动作(Twirl)
  178. 9.9.11 3D瓦片震动动作(ShakyTiles3D)
  179. 9.9.12 3D瓦片破碎动作(ShatteredTiles3D)
  180. 9.9.13 3D瓦片洗牌动作(ShuffleTiles)
  181. 9.9.14 瓦片从左下角到右上角淡出动作(FadeOutTRTiles)
  182. 9.9.15 瓦片从右上角到左下角淡出动作(FadeOutBLTiles)
  183. 9.9.16 瓦片向上淡出动作(FadeOutUpTiles)
  184. 9.9.17 瓦片向下淡出动作(FadeOutDownTiles)
  185. 9.9.18 关闭瓦片动作(TurnOffTiles)
  186. 9.9.19 3D波浪瓦片动作(WavesTiles3D)
  187. 9.9.20 3D跳跃瓦片动作(JumpTiles3D)
  188. 9.9.21 拆分行动作(SplitRows)
  189. 9.9.22 拆分列动作(SplitCols)
  190. 9.9.23 3D翻页动作(PageTurn3D)
  191. 9.10 其他动作
  192. 9.10.1 绑定节点和动作(TargetedAction)
  193. 9.10.2 扭曲动作(SkewBy和SkewTo)
  194. 9.10.3 轨道照相机动作(OrbitCamera)
  195. 9.10.4 延迟运行动作(DelayTime)
  196. 9.11 小结
  197. 第10章 调度器、绘图API与动画
  198. 10.1 调度器(Scheduler)
  199. 10.1.1 update定时器调度
  200. 10.1.2 设置update定时器的优先级
  201. 10.1.3 自定义调度器
  202. 10.1.4 停止调度器
  203. 10.2 绘图API
  204. 10.3 动画
  205. 10.3.1 基于绘图API与调度器的动画
  206. 10.3.2 帧(Frame)动画
  207. 10.4 小结
  208. 第11章 数据存储技术
  209. 11.1 使用UserDefault读写Key-Value类型的数据
  210. 11.2 读写流文件
  211. 11.3 操作XML文件
  212. 11.3.1 使用tinyxml2生成XML文件
  213. 11.3.2 使用tinyxml2以DOM方式读取XML文件
  214. 11.3.3 使用SAXParser以SAX方式读取XML文件
  215. 11.4 使用rapidjson读写JSON文件
  216. 11.5 使用SQLite数据库
  217. 11.6 小结
  218. 第12章 Sprite3D技术
  219. 12.1 什么是Sprite3D
  220. 12.2 Cocos2d-x支持哪些3D模型格式
  221. 12.3 装载obj格式的3D模型文件
  222. 12.4 装载和使用c3t和c3b格式的3D模型文件
  223. 12.4.1 使用fbx-conv将fbx转换为c3t和c3b格式
  224. 12.4.2 旋转的3D怪物
  225. 12.4.3 游泳的海龟
  226. 12.5 小结
  227. 第13章 Cocos2d-x中的瓦片和地图
  228. 13.1 瓦片和地图编辑器
  229. 13.1.1 瓦片地图的种类和用途
  230. 13.1.2 瓦片地图编辑器(Tiled Map Editor)
  231. 13.1.3 用Tiled编辑地图
  232. 13.2 在Cocos2d-x中使用地图
  233. 13.2.1 在程序中显示地图
  234. 13.2.2 隐藏和显示图层
  235. 13.2.3 编辑图块
  236. 13.2.4 获取图块的属性值
  237. 13.2.5 在地图中添加精灵
  238. 13.2.6 让精灵只在道路上移动
  239. 13.2.7 改变遮挡关系(zOrder和PositionZ)
  240. 13.2.8 拖动地图
  241. 13.2.9 在45度角地图上种树
  242. 13.2.10 使用对象层
  243. 13.3 小结
  244. 第14章 粒子系统
  245. 14.1 Cocos2d-x内置的标准粒子特效
  246. 14.1.1 群星闪烁
  247. 14.1.2 幽灵鬼火
  248. 14.1.3 群星爆炸
  249. 14.2 粒子特效属性详解
  250. 14.3 自定义粒子特效
  251. 14.3.1 五彩旋转戒指
  252. 14.3.2 放大版的群星闪烁
  253. 14.4 可视化粒子特效设计器
  254. 14.4.1 Particle Designer (仅适用于OS X)
  255. 14.4.2 Particle Editor (只适用于Windows系统)
  256. 14.5 通过plist文件实现粒子特效
  257. 14.5.1 彗星特效
  258. 14.5.2 用plist文件实现放大版的群星闪烁
  259. 14.6 燃烧的圣火
  260. 14.7 小结
  261. 第15章 物理引擎
  262. 15.1 物理引擎概述
  263. 15.1.1 什么是物理引擎
  264. 15.1.2 物理引擎在游戏中的地位
  265. 15.1.3 Box2D和Chipmunk的对比
  266. 15.2 Cocos2d-x 3.x中抽象封装的物理引擎
  267. 15.2.1 抽象物理引擎概述
  268. 15.2.2 使用抽象物理引擎创建Body (刚体)
  269. 15.3 Android平台如何使用物理引擎
  270. 15.4 改变Android和iOS平台默认的物理引擎
  271. 15.5 碰撞检测
  272. 15.6 只撞击一侧边缘的碰撞检测
  273. 15.7 足球撞击特效
  274. 15.8 骷髅堆中的足球
  275. 15.9 用重力感应控制的足球
  276. 15.10 小结
  277. 第16章 骨骼动画
  278. 16.1 骨骼动画概述
  279. 16.2 骨骼动画的优势
  280. 16.3 Spine骨骼动画
  281. 16.3.1 Spine骨骼动画简介
  282. 16.3.2 在Cocos2d-x中使用Spine骨骼动画
  283. 16.3.3 Spine简介
  284. 16.3.4 用Spine导入骨骼动画图像资源
  285. 16.3.5 完成图像的摆放
  286. 16.3.6 绑定骨骼
  287. 16.3.7 在骨骼上旋转图像
  288. 16.3.8 设计骨骼动画
  289. 16.4 Armature骨骼动画
  290. 16.4.1 安装和运行Cocos Studio
  291. 16.4.2 将图像导入工程
  292. 16.4.3 使用图像资源
  293. 16.4.4 创建骨骼
  294. 16.4.5 绑定骨骼和图像
  295. 16.4.6 设计骨骼动画
  296. 16.4.7 导出骨骼动画
  297. 16.4.8 在Cocos2d-x中使用骨骼动画
  298. 16.5 小结
  299. 第17章 Objective-C、Swift、C++和Java交互
  300. 17.1 C++与Objective-C的交互
  301. 17.1.1 C++调用Objective-C API
  302. 17.1.2 通过Objective-C获取Web数据
  303. 17.1.3 Objective-C调用C++ API
  304. 17.1.4 .mm文件到底起什么作用
  305. 17.2 C++调用Swift API
  306. 17.2.1 创建Swift文件
  307. 17.2.2 编写Swift类
  308. 17.2.3 自动生成的头文件的位置和命名规则
  309. 17.2.4 自动生成的头文件的内容
  310. 17.2.5 自动生成头文件非得用@objc吗
  311. 17.2.6 用Objective-C调用Swift API
  312. 17.2.7 C++调用Swift API
  313. 17.3 Swift调用Objective-C API
  314. 17.3.1 在桥接头文件中引用Objective-C的头文件
  315. 17.3.2 在Swift源代码文件中调用Objective API
  316. 17.3.3 Objective-C调用Swift API
  317. 17.3.4 声明和实现C++风格的方法
  318. 17.3.5 C++调用Swift API
  319. 17.4 Android平台多语言交互
  320. 17.4.1 C++调用Java类的无参数静态方法
  321. 17.4.2 C++调用有参数的静态Java方法
  322. 17.4.3 C++调用Java类的非静态方法
  323. 17.4.4 C++调用Java API向SQLite数据库中插入信息(获取Context对象)
  324. 17.4.5 C++调用Java API查询SQLite数据库中的记录
  325. 17.4.6 Java调用C++ API
  326. 17.5 小结
  327. 第18章 项目实战:星空大战
  328. 18.1 游戏概述
  329. 18.2 滚动背景
  330. 18.2.1 滚动游戏背景
  331. 18.2.2 让云彩在背景上移动
  332. 18.3 创建战机
  333. 18.3.1 创建战机类
  334. 18.3.2 创建战机图层
  335. 18.3.3 让战机移动
  336. 18.3.4 为战机添加光子鱼雷武器
  337. 18.3.5 为战机添加激光束武器
  338. 18.3.6 为战机添加带有自动跟踪功能的导弹
  339. 18.3.7 让战机发射武器
  340. 18.4 创建敌机
  341. 18.4.1 创建小敌机
  342. 18.4.2 创建大敌机
  343. 18.4.3 敌机发送炮弹
  344. 18.5 小结