作品简介

《精通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 小结
展开全部