发表于2024-11-25
清华开发者书库:Cocos2d-x之Lua核心编程(第2版) pdf epub mobi txt 电子书 下载
刘克男(@刘克男_u0u0):毕业于电子科技大学计算机科学与技术专业。2006年起在电子科技大学嵌入式国家实验室从事跨平台应用引擎研究。在跨平台引擎项目中担任引擎1.x开发部负责人,拥有4年技术团队管理经验。C/C++功底深厚,跨平台经验丰富,先后开发过的平台有WindowsMobile、Brew、iOS、Android、WindowPhone8。2013年加入触控,负责Cocos2d-x引擎的推广。编写了大量优质教程,涉及OpenGLES、Chipmunk、Cocos2d-x等技术。2015年调任触控教育创新中心教学总监,负责Cocos2d-x课程设计与实施,同年被四川大学聘为校外创新与创业指导教师。
作为使用Lua进行Cocos开发的专业图书,它不但在Lua语言和引擎方面有详细的讲解,更在引擎的诸多细节上花费了大量心思,包括缓存、内存管理与监控、数据加密等,是不可多得的Cocos2d-x开发进阶教材!
——卞安(网名:红孩儿,国内游戏开发技术专家)
本书详尽地讲述了Cocos2d引擎的起源与发展,不仅让初学者深入了解到该引擎的来龙去脉,更对Cocos2d众多版本的选择上给予了重要的剖析与建议。 作者还通过由浅入深的教学方式来讲解项目实战开发的过程,介绍了许多实战经验,避免初学者在学习过程中走弯路。全书重点讲解Cocos2dx-Lua,其跨平台性和热更新机制已是当今游戏开发中的刚性需求!因此我建议学习Cocos2d引擎的读者把此书列为入门!
—— 李华明(网名:Himi,国内游戏开发技术专家,网易《功夫熊猫》游戏团队CTO)
本书是由 Cocos 官方编写的 Cocos2d-x Lua 实战书籍。本书内容由浅及深,从 Cocos2d-x Lua 的基本概念、Lua 编程基础,到完整的游戏设计和实现都有详细论述。 除了基础知识和游戏开发实践,本书还包含了 Cocos2d-x Lua 在内存管理、性能优化、网络访问、UI 库等进阶内容。 由于本书由触控科技精通 Cocos2d-x Lua 的资深开发人员亲自编写,完全遵循 Cocos2d-x Lua 的实践方法。所以不管是即将进入手游行业的 Cocos2d-x Lua 的初学者,还是经验丰富的开发者,本书都是合适的学习资料和参考手册。
—— 廖宇雷(Cocos2d-lua引擎作者)
近几年有幸目睹了Cocos2d-x逐渐发展壮大,并成为了开源项目的骄傲。C++虽然是游戏开发的主流技术,但对于初学游戏开发的人来说过于复杂且不易上手。Lua是国内脚本开发技术的主流,自Cocos2d-x提供Lua-binding脚本技术以来,有效地降低了学习难度,提高了开发效率,对Cocos2d-x技术的推广普及起到了不可估量的作用。杨雍团队多年以来一直从事Cocos2d-x的研究和推广工作,经验丰富。随着这本书的交付出版,Cocos2d-x技术和Cocos2d-x社区必将有一个更加光明的未来……
——岳阳(网名:老G,资深Cocos技术爱好者)
一年前,泰然网教主杨雍跟我说要出一本 Cocos2d-x 入门图书。今天,他真做到了。本书是泰然网的诚意之作,它以 Cocos2d-Lua 为背景,从 Lua 语言基础到 Cocos2d-x 核心知识点,由浅入深,全面论述。本书以一个完整的游戏实例收尾,帮助读者快速动手实践。
——屈光辉 (泰然网ID:子龙山人,国内游戏开发技术专家,现任职于Cocos引擎团队)
目录
第1章Cocos2d�睱ua
1.1概述
1.1.1Cocos2d的起源
1.1.2Cocos2d�瞲的诞生
1.1.3Cocos2d�睱ua的发展
1.2版本介绍
1.2.1Cocos2d�瞲版本介绍(C++)
1.2.2Cocos2d�睱ua版本介绍
第2章Lua编程
2.1Lua在Windows下的运行环境搭建
2.1.1安装
2.1.2运行
2.2Lua基础
2.2.1Lua介绍
2.2.2Lua语法
2.3Lua进阶
2.3.1Metatable(元表)
2.3.2重要元方法介绍
2.3.3封装
2.3.4继承
2.3.5多态
第3章Cocos2d�睱ua基础
3.1Cocos2d�睱ua开发环境配置
3.1.1安装Cocos2d�睱ua
3.1.2安装Sublime与QuickXDev
3.1.3测试开发环境
3.2引擎架构与目录结构
3.2.1引擎架构
3.2.2引擎文件结构
3.2.3项目文件结构
3.3MVC框架
3.3.1什么是MVC
3.3.2Cocos2d�睱ua中的类实现
3.3.3Cocos2d�睱ua的MVC实现
3.4基础概念
3.4.1导演
3.4.2节点
3.4.3场景
3.4.4层
3.4.5精灵
3.5坐标系
3.5.1笛卡儿坐标系
3.5.2屏幕坐标系和Cocos2d�睱ua坐标系
3.5.3世界坐标系VS本地坐标系
3.5.4锚点
3.5.5忽略锚点
3.5.6ZOrder与渲染顺序
3.6文本标签
3.6.1TTF文本标签
3.6.2BMFont文本标签
3.6.3UILabel控件
3.6.4Mac下使用GlyphDesigner制作字体
3.6.5Windows下使用BMFont制作字体
3.7按钮
3.7.1UIButton按钮
3.7.2UIPushButton按钮
3.7.3UICheckBoxButton按钮
3.7.4UICheckBoxButtonGroup按钮
3.8场景转换
3.8.1概念
3.8.2带转场特效的场景
3.8.3场景转换示例
3.9动作
3.9.1瞬时动作
3.9.2有限时间动作
3.9.3复合动作
3.9.4变速动作
3.9.5节点与动作相关的接口
3.10序列帧动画
3.10.1精灵表单
3.10.2播放序列帧动画
3.10.3动画缓存
3.11调度器
3.11.1全局调度器
3.11.2节点调度器
3.12事件分发机制
3.12.1节点事件
3.12.2帧事件
3.12.3键盘事件
3.12.4加速计事件
3.12.5触摸事件
3.13多分辨率适配
3.13.1Cocos2d�瞲中的多分辨率适配
3.13.2Cocos2d�睱ua中的多分辨率适配
第4章消除游戏实战(一)
4.1FruitFest(1):主场景
4.1.1游戏玩法
4.1.2美术设计
4.1.3分辨率适配策略
4.1.4主场景
4.2FruitFest(2):创建PlayScene
4.2.1准备BMFont
4.2.2创建PlayScene
4.2.3添加转场代码
4.2.4添加UI
4.3FruitFest(3):初始化水果矩阵
4.3.1水果类
4.3.2矩阵算法
4.3.3掉落算法
4.3.4矩阵初始化的代码实现
4.4FruitFest(4):选中水果
4.4.1绑定触摸事件
4.4.2清除已高亮区域
4.4.3高亮算法
4.4.4分数算法
4.5FruitFest(5):消除与掉落
4.5.1消除高亮水果
4.5.2掉落与补全
第5章Cocos2d�睱ua进阶
5.1UI控件
5.1.1输入控件
5.1.2进度条控件
5.1.3滑动条控件
5.1.4滚动视图控件
5.1.5列表视图控件
5.1.6分页视图控件
5.2瓦片地图
5.2.1用Tiled制作瓦片地图
5.2.2地图视角
5.2.3在Cocos2d�睱ua中使用TMX
5.3精灵批处理
5.3.1手动批处理
5.3.2自动批处理
5.3.3手动批处理VS自动批处理
5.4碰撞检测
5.4.1点与点的碰撞
5.4.2点与矩形的碰撞
5.4.3圆与圆之间的碰撞
5.4.4轴对齐矩形之间的碰撞
5.4.5非轴对齐矩形之间的碰撞
5.5内存管理
5.5.1Lua内存管理
5.5.2Cocos2d�睱ua内存管理
5.5.3纹理缓存
5.5.4精灵帧缓存
5.6数据与存储
5.6.1JSON数据
5.6.2crypto数据编码
5.6.3UserDefault数据存储
5.6.4GameState数据存储
5.6.5文件读写
5.7背景音乐与音效
5.8粒子系统
5.8.1什么是粒子系统
5.8.2Cocos2d�睱ua中的粒子系统
5.8.3粒子系统批处理节点
5.8.4粒子属性
5.8.5粒子编辑器介绍
5.8.6使用粒子系统
5.9Spine骨骼动画
5.9.1Spine运行库
5.9.2用法示例
5.10裁剪节点
5.11渲染纹理
第6章消除游戏实战(二)
6.1FruitFest(6):过关与信息存储
6.1.1添加进度条
6.1.2过关与数据持久化
6.2FruitFest(7):爆炸特效与声音
6.2.1爆炸特效
6.2.2游戏音乐
6.2.3后记
第7章Cocos2d�睱ua高级
7.1网络通信
7.1.1network
7.1.2SocketTCP
7.1.3WebSocket
7.2物理引擎
7.2.1创建带物理世界的场景
7.2.2创建物理边界
7.2.3创建受重力作用的精灵
7.2.4碰撞检测
7.2.5完整示例
7.3摄像机
7.3.1OpenGL视口
7.3.2cc.Camera
7.3.3场景的默认摄像机
7.3.4自定义摄像机
7.4自定义事件
7.4.1加载EventProtocol组件
7.4.2主要接口
7.4.3完整示例
7.5有限状态机
7.5.1基本用法
7.5.2完整示例
7.6扩展Lua接口
7.6.1LuaCAPI
7.6.2Lua栈
7.6.3LuaBinding实战(1):tolua++手动绑定
7.6.4LuaBinding实战(2):扩展Spine接口
7.7OpenGLES2.0与shader编程
7.7.1OpenGLES概述
7.7.2OpenGLES绘制几何图形
7.7.3矩阵变换
7.7.4纹理贴图
7.7.5Cocos2d�睱ua中使用自定义shader
第8章打包与发布
8.1Android项目的编译与打包
8.1.1安装JDK
8.1.2BuildNative
8.1.3AndroidStudio打包
8.2Mac下编译iOS版本
8.2.1先决条件
8.2.2Debug真机调试
8.2.3Release打包
8.3发布时加密Lua源文件
8.3.1compile_scripts脚本
8.3.2去掉源代码引用
8.3.3修改Lua启动入口
8.4发布时加密图片资源文件
8.4.1encrypt_res脚本
8.4.2资源加密示例
8.5SDK接入
8.5.1使用luaj接入AndroidSDK
8.5.2使用luaoc接入iOSSDK
前言
本书分8章,知识由浅入深、步步推进,建议按照顺序阅读。
第1章介绍Cocos2d�睱ua背景,Cocos2d各版本之间的关系。
第2章旨在引导读者快速入门,已有Lua编程基础的读者,可跳过这一部分。
第3章介绍Cocos2d�睱ua基础,本章是开发游戏必须掌握的知识结构。
第4章介绍FruitFest消除游戏的第一部分,实现了游戏的核心玩法。本章应用Cocos2d�睱ua基础知识,展示了游戏开发的主要流程。
第5章介绍Cocos2d�睱ua进阶,涵盖UI控件、瓦片地图、内存管理以及数据存储等内容。
第6章介绍FruitFest游戏的第二部分,为游戏添加了音乐与粒子特效。
第7章介绍Cocos2d�睱ua高级内容,虽然其中的网络通信和物理引擎不是每个游戏都会用到,但它们是引擎必不可少的一部分。自定义事件和状态机为游戏系统架构提供基础支撑,而LuaBinding要求熟练掌握C语言开发,它们都是为高级工程师准备的。
第8章介绍打包与发布。之所以把该部分放在最后,是因为Cocos2d�睱ua提供的Player模拟器已足够应对游戏的前期开发,通过Player测试游戏将为开发者节省大量时间。
适用版本
本书基于Quick�睠ocos2dx�睠ommunity3.6.4版本撰写,由于Quick框架对接口稳定性所做的贡献,本书与引擎功能模块相关的章节适用于Cocos2d�睱uav3.3Final之后的所有版本。可以在http://cocos2d�瞝ua.org/download/index.md下载到最新的Cocos2d�睱ua引擎。
注:
本书不适用于Cocos2d�睱ua2.x分支版本。
书中实例
本书以理论结合实践,各章均配备了测试用例。其中第4章和第6章以FruitFest展示了完整游戏的开发流程,每一节各介绍一个独立的功能并配备实例代码,让初学者充分体验到游戏开发的细节。
读者可以从本书的主页(http://cocos2d�瞝ua.org/book/index.md)免费获取所有章节配套的最新实例代码。
读者对象
本书作为Cocos2d�睱ua的权威书籍,从Lua语言基础开始,全面覆盖Cocos2d�睱ua基础、进阶和高级编程,并指导读者逐步完成一款消除游戏的开发。
对于Cocos2d新手而言,本书可以作为手机游戏开发的入门书籍。
对于有经验的手游开发者而言,本书依然是进行Cocos2d�睱ua开发必不可少的参考手册,大量的实例代码可以帮助读者节省宝贵的时间。
对于院校师生而言,本书的编排完全按照学习顺序系统展开,是教材的不二之选。
由于笔者水平有限,书中内容难免会有不妥或者疏漏,欢迎读者批评指正。
作者
2017年5月
好好好好好好好好好好好好好好好好好好好好好好
评分专业知识充电准备的,配送很快。
评分基础书籍,新手可以看
评分基础书籍,新手可以看
评分此用户未填写评价内容
评分实用
评分好好好好好好好好好好好好好好好好
评分非常好
评分书很好,好好好好好好好好好
清华开发者书库:Cocos2d-x之Lua核心编程(第2版) pdf epub mobi txt 电子书 下载