精通Cocos2d-x游戏开发(进阶卷)

精通Cocos2d-x游戏开发(进阶卷)

作者:王永宝

出版社:清华大学

出版年:2017年3月

ISBN:9787302461258

所属分类:科普读物

书刊介绍

《精通Cocos2d-x游戏开发(进阶卷)》内容简介

《精通Cocos2d-x游戏开发》分为《基础卷》和《进阶卷》两册。这两册都有明确的写作目的。《基础卷》专注于Cocos2d-x引擎基础,致力于让Cocos2d-x初学者成为一个基础扎实、靠谱的程序员。《进阶卷》专注于各种实用技术,是作者多年开发经验的结晶,书中的技术点大多是从实际工作中碰到的问题提炼而来的,从问题的本质出发到解决问题的思路,提供了多种解决方案,并对比各方案的优缺点,启发读者思考。
本书为《精通Cocos2d-x游戏开发》的《进阶卷》,共36章,分为4篇。第1篇为“实用技术篇”,主要内容有加密解密、增量更新、分辨率适配、调试技巧、Shader特效、裁剪遮罩、物理引擎、骨骼动画、CocoStudio最佳实践等实用技术。第2篇为“Lua篇”,主要内容有Lua的基础知识、Lua的table与面向对象、C/C++与Lua的通信、Cocos2d-x原生Lua框架与Quick-Cocos2d-x Lua框架等。第3篇为“网络篇”,主要内容有网络基础、select IO复用、Socket和Libcurl等基础知识,以及弱联网、强联网、局域网等网络游戏的客户端和服务端开发。第4篇为“跨平台篇”,主要内容有Android和iOS平台的开发和打包知识,以及如何使用AnySDK快速接入第三方SDK。
本书适合使用Cocos2d-x进行游戏开发的中高级读者阅读,尤其适合在使用Cocos2d-x开发过程中碰到问题的程序员,以及希望学习一些实用技术,从而丰富自身经验的程序员。对于大中专院校的学生和社会培训班的学员,本书也是一本不可多得的学习教程。
王永宝:自高一起就自学编程,至今已经10年有余。酷爱游戏开发。熟练掌握C/C++、Lua和C#等编程语言。擅长网络编程、高并发服务端架构设计、客户端框架设计和OpenGL等技术。2010年参加了广东省专业杯软件设计大赛,在31所院校的86支队伍的激烈竞争中,凭借一个月内使用三门语言开发的塔防游戏而获得一等奖。同年进入深圳市饭后科技有限公司,陆续担任C++服务端主程、Unity3D主程和Cocos2d-x主程,并作为技术负责人负责了多款游戏的开发。业余时间潜心研究游戏开发,编写了多款游戏作品。

作品目录

作者简介
内容简介
前言
第1篇
实用技术篇
第1章:文件读写
1.1、使用UserDefault
1.2、读写XML文件
1.3、读写Plist文件
1.4、读取CSV文件
1.5、读写二进制文件
第2章:加密解密
2.1、加密解密基础
2.2、防止内存修改
2.3、对资源的加密解密
2.4、使用加固工具
第3章:增量更新
3.1、使用AssetsManagerEx
3.2、搭建增量更新服务器
3.3、Manifest文件详解
3.4、AssetsManagerEx内部实现流程简析
3.5、自动打包工具
第4章:声音与音效
4.1、选择音频格式
4.2、使用SimpleAudioEngine
4.3、使用AudioEngine
4.4、声音音效相关的经验和技巧
第5章:分辨率适配
5.1、Cocos2d-x适配策略
5.2、分辨率适配经验
5.3、CocoStudio分辨率适配
第6章:CocoStudio最佳实践
6.1、高效创建CSB
6.2、异步加载CSB
6.3、高效播放CSB动画
第7章:调试Cocos2d-x
7.1、控制台调试
7.2、使用KxDebuger调试Cocos2d-x
第8章:调试技巧总结
8.1、初级调试技巧
8.2、高级调试技巧
8.3、记一次内存泄漏调试
第9章:物理引擎——Box2d基础
9.1、核心概念
9.2、工作流程
9.3、物理世界World
9.4、Body和Shape
9.5、关节Joint
第10章:物理引擎——应用到Cocos2d-x
10.1、物体的运动
10.2、碰撞检测
10.3、Box2d的调试渲染
10.4、在Cocos2d-x中使用Box2d
10.5、Box2d的相关工具
第11章:图元渲染
11.1、使用DrawingPrimitives接口绘制图元
11.2、使用DrawNode绘制图元
11.3、渲染接口详解
11.4、小结
第12章:Spine骨骼动画
12.1、Spine功能简介
12.2、Spine结构
12.3、使用Spine
12.4、Spine高级技巧
第13章:2D、3D粒子特效
13.1、2D粒子特效
13.2、2D粒子系统运行流程
13.3、3D粒子特效
13.4、使用Particle
Universe粒子系统
13.5、3D粒子系统源码简析
第14章:裁剪与遮罩
14.1、片段测试
14.2、裁剪
14.3、遮罩
第15章:使用Shader——GLSL基础
15.1、Shader简介
15.2、图形渲染管线
15.3、GLSL基础语法
15.4、在OpenGL中使用Shader
15.5、在Cocos2d-x中使用Shader
第16章:使用Shader——常用特效
16.1、Blur模糊效果
16.2、OutLine描边效果
16.3、RGB、HSV与HSL效果
16.4、调整色相
16.5、流光效果
第2篇
Lua篇
第17章:Lua基础语法
17.1、类型与值
17.2、操作符
17.3、语句
17.4、函数
17.5、闭包与泛型for
第18章:Lua——table
18.1、使用table
18.2、元表metatable
18.3、packages介绍
18.4、面向对象
18.5、table库
第19章:Lua与C的通信
19.1、准备工作
19.2、操作table
19.3、C/C++中调用Lua
19.4、注册C/C++函数给Lua调用
19.5、将C++的类传给Lua
第20章:Cocos2d-x原生Lua框架详解
20.1、Cocos2d-x原生Lua框架结构
20.2、使用Cocos2d-x原生Lua框架
20.3、Cocos2d-x原生Lua框架运行流程
20.4、使用genbindings.py导出自定义类
20.5、扩展Cocos2d-x
Lua
20.6、lua-tests导读
第21章:Cocos2d-x
Quick框架详解
21.1、Quick简介
21.2、Quick框架结构
21.3、使用Quick
21.4、Quick运行流程分析
21.5、Quick脚本框架详解
第22章:Quick框架实践——MVC框架
22.1、组件系统详解
22.2、ModelBase详解
22.3、MVC示例详解
22.4、小结
第3篇
网络篇
第23章:网络游戏——网游开发概述
23.1、弱联网游戏
23.2、强联网游戏
23.3、局域网游戏
第24章:弱联网游戏——Cocos2d-x客户端实现
24.1、客户端请求流程
24.2、Libcurl
easy接口详解
24.3、使用多线程执行请求
24.4、使用Libcurl
Multi接口进行非阻塞请求
24.5、使用非阻塞的Libcurl实现签到功能
第25章:弱联网游戏——PHP服务器实现
25.1、环境搭建
25.2、编写PHP
25.3、实现签到服务
第26章:强联网游戏——TCP和Socket
26.1、Socket接口与TCP
26.2、简单的TCP服务器端与客户端
26.3、非阻塞Socket与select()函数
26.4、半包粘包
26.5、心跳与超时
第27章:强联网游戏——单机版动作游戏
27.1、需求分析与类设计
27.2、创建工程和场景
27.3、添加实体
27.4、实体显示组件
27.5、消息定义
27.6、添加SingleProxy
27.7、游戏的主逻辑
第28章:强联网游戏——C++服务器实现
28.1、服务端需求分析
28.2、kxServer的使用
28.3、NetDemoServer服务器
28.4、接收客户端请求
28.5、移植前端代码
28.6、梳理流程和总结
第29章:网络游戏——前后端网络同步
29.1、整理入口场景
29.2、连接服务器
29.3、添加OnlineProxy
29.4、打包与恢复场景
29.5、实时同步
第30章:局域网游戏——使用UDP
30.1、使用UDP
30.2、UDP通信流程
30.3、UDP广播
30.4、简单的UDP服务器
30.5、简单的UDP客户端
第31章:局域网游戏——建立、搜索、加入房间
31.1、建立房间
31.2、移植后端代码
31.3、搜索房间
第4篇
跨平台篇
第32章:Android环境搭建
32.1、Android环境搭建基础
32.2、使用Eclipse打包
32.3、使用Android
Studio打包
32.4、新建Android项目
32.5、实用技巧
第33章:使用JNI实现C++与Java互调
33.1、Android基本概念
33.2、Hello
JNI项目
33.3、编写JNI的C++代码
33.4、Java调用C++
33.5、在C++程序中使用Java
33.6、在Cocos2d-x中实现Java和C++的互调
33.7、Android.mk和Application.mk详解
33.8、ABI详解
33.9、调试JNI代码
第34章:iOS环境搭建与真机调试
34.1、iOS环境搭建
34.2、iOS证书
34.3、iOS真机调试
34.4、打包IPA
第35章:Objective-C与C++互调
35.1、Objective-C基础语法
35.2、Objective-C与C++混编
第36章:接入AnySDK
36.1、AnySDK概述
36.2、接入AnySDK
Android框架
36.3、接入AnySDK
iOS框架
36.4、登录流程
36.5、支付流程
36.6、母包联调
36.7、打包工具
36.8、小结

相关推荐

微信二维码