刘克男(@刘克男_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版)》我真的是期待了好久,之前一直用Cocos2d-x开发,但总感觉Lua这块的底层理解不够深入,很多时候都是知其然不知其所以然。市面上相关的书不少,但很多要么讲得很基础,要么就跳跃性太强,让我这种想精进技术的开发者感到有些迷茫。这次看到清华开发者书库出了Lua核心编程的第二版,而且是针对Cocos2d-x的,简直是正中下怀。我希望这本书能把Lua在Cocos2d-x中的应用讲得更透彻,比如Lua的内存管理机制如何影响Cocos2d-x的性能,GC(垃圾回收)的细节对游戏运行会不会有肉眼可见的影响。还有就是Lua与C++之间的通信,这部分绝对是Cocos2d-x开发中绕不开的痛点,希望书中能有详细的讲解,包括各种传递数据的方式,性能上的权衡,以及如何写出更健壮、易于维护的C++与Lua交互代码。我一直觉得,掌握了核心,才能更好地利用框架,而不是被框架牵着鼻子走。这本书的出现,让我看到了提升技术栈、写出更高效、更稳定游戏的希望。
评分作为一个在Cocos2d-x领域摸爬滚打了几年,并且主要使用Lua进行开发的开发者,我一直在寻找一本能够真正帮助我“内功”提升的书。《清华开发者书库:Cocos2d-x之Lua核心编程(第2版)》这个名字直接戳中了我的痛点。我感觉目前市面上关于Cocos2d-x的书籍,很多侧重于API的介绍和简单案例的实现,但对于Lua语言本身在引擎深层是如何工作的,以及如何通过对Lua的深入理解来优化游戏性能,这方面的内容相对匮乏。我非常期待这本书能够深入讲解Lua的虚拟机,它的执行模型,以及垃圾回收机制的具体工作流程,并结合Cocos2d-x的场景,分析这些机制在游戏开发中可能带来的性能问题以及对应的解决方案。例如,如何有效地管理Lua对象的生命周期,如何避免不必要的内存分配和GC压力,如何编写高效的Lua函数,甚至包括元表(metatable)在Cocos2d-x中的高级应用和优化思路。如果这本书能在这方面提供清晰的指导和实用的技巧,那绝对会是我案头必备的一本参考书。
评分我一直对游戏开发充满热情,Cocos2d-x是我的首选引擎之一,因为它跨平台且性能不错。然而,随着项目越来越复杂,我越来越感受到对Lua脚本引擎理解的不足。在很多情况下,我能够调用API实现功能,但当遇到性能瓶颈或者调试一些难以捉摸的Bug时,就显得力不从心了。《清华开发者书库:Cocos2d-x之Lua核心编程(第2版)》这个书名本身就非常有吸引力,它直击了开发者在Lua层面进行深度优化的需求。我期望这本书不仅仅是关于Lua语法的复习,更重要的是它能深入剖析Lua在Cocos2d-x架构下的运行原理,例如,Lua的协程机制如何在Cocos2d-x中实现异步操作?表的实现机制对其在游戏逻辑中的频繁使用会有怎样的性能影响?内存池的管理在Lua脚本中是否能有更精细化的控制?这些都是我在实际开发中常常思考但难以找到系统性解答的问题。我希望这本书能提供一些高级的技巧和最佳实践,帮助我写出更简洁、高效、易于维护的Lua代码,真正做到“核心编程”,而不是停留在表面的API调用。
评分在游戏开发的实践中,性能优化永远是绕不开的话题,而对于使用Cocos2d-x的开发者来说,Lua扮演着至关重要的角色。我一直在寻找一本能够深入剖析Lua脚本在Cocos2d-x引擎中性能表现的书籍,帮助我理解“为什么”和“怎么做”。《清华开发者书库:Cocos2d-x之Lua核心编程(第2版)》这个名字让我眼前一亮,它点明了主题——Lua的核心编程。我期待这本书能够不仅仅是停留在API的讲解,而是深入到Lua语言本身的运行时特性,例如它的闭包(closure)是如何工作的,它们对内存使用和性能有什么影响?Lua的迭代器(iterator)在Cocos2d-x中的应用场景有哪些,又该如何写出高效的迭代器?我对Lua的协程(coroutine)在实现复杂游戏逻辑,比如AI或者任务系统时,其底层的实现机制以及如何在Cocos2d-x中进行有效的利用非常感兴趣。这本书能否提供一些关于Lua代码重构、性能分析工具的使用,以及如何通过Lua脚本的精细化管理来提升整个Cocos2d-x项目的稳定性和响应速度?这些都是我在实际工作中迫切需要解决的问题。
评分我是一名Cocos2d-x的初学者,但因为项目需求,我必须快速上手,并且希望能够写出高质量的代码。在学习过程中,我发现Lua脚本是Cocos2d-x开发的重要组成部分,但很多时候我只能照猫画虎,对Lua本身的特性以及它在Cocos2d-x中的运行原理了解不多。这本书的出现,对我来说是一个巨大的福音。《清华开发者书库:Cocos2d-x之Lua核心编程(第2版)》这个标题让我觉得它会是一本理论与实践并重,且侧重于“核心”的指导书。我特别希望这本书能够从Lua语言的根本出发,解释它的数据结构,例如表的实现原理,以及这些原理如何影响我们在Cocos2d-x中进行数据存储和逻辑处理。同时,我也希望能了解Lua的函数调用机制,以及如何在Cocos2d-x中实现高效的事件处理和消息传递。更重要的是,我希望这本书能帮助我理解Lua脚本与C++层交互的底层机制,比如函数栈的操作,以及如何通过良好的设计避免潜在的性能陷阱。这些都是我目前感觉比较模糊但又非常关键的地方。
评分好,是正版。。。。。。。。。。。。。
评分此用户未填写评价内容
评分质量不错,就是没包邮
评分书名是2dx-lua内容是2d-lua
评分此用户未填写评价内容
评分还没来看呢。。。
评分质量不错,就是没包邮
评分实用
评分书名是2dx-lua内容是2d-lua
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 book.cndgn.com All Rights Reserved. 新城书站 版权所有