《Cocos2d-x实战(JS卷 Cocos2d-JS开发 第2版)/清华游戏开发丛书》系统介绍了Cocos2d-x游戏编程和开发技术,介绍了使用Cocos2d-xJS API中核心类、瓦片地图、物理引擎、音乐音效、Cocos2d-x GUI控件、Cocos2d-x中的3D特性、数据持久化、阐络通信、性能优化、多平台发布、程序代码管理、两大应用商店发布产品。
全书分为6篇:基础篇、进阶篇1数据与网络篇、优化篇、多平台发布篇和实战篇。
基础篇包括第2章~第9章,介绍了JavaScript语言基础、Cocos2d-x介绍、环境搭建、标签、菜单、精灵、场景、层、动作、动画和用户事件。
进阶篇包括第10章~第15章,介绍了游戏音乐与音效、粒子系统、瓦片地图、物理引擎、Cocos2d-xGUI控件和Cocos2d-x中的3D特性。
数据与网络篇包括第16章~第18章,介绍了数据持久化、基于HTTP网络通信和基于Node.js的Socket.IO网络通信。
优化篇包括第19章性能优化。
多平台发布篇包括第20章~第22章,介绍了发布到Web平台、发布到本地Android平台和发布到本地iOS平台。
实战篇包括第23章~第26章,介绍了使用Git管理代码版本、项目实战:迷失航线手机游戏、发布到Google play应用商店和发布到苹果App Store。
关东升,国内iOS/Cocos技术作家,iOS技术顾问,Cocos有价值专家(CVP),智捷课堂首席培训专家。担任51CTO社区iOS技术顾问,精通iOS、Android和Windows及HTML5等移动开发技术。曾先后主持开发大型网络游戏《神农诀》的iOS和Android客户端开发,国家农产品追溯系统的iPad客户端开发,酒店预订系统的iOS客户端开发,金融系统的ios、Windows及Android客户端开发。在AppStore上发布数款游戏和应用软件,擅长移动平台的应用和游戏类项目开发。长期为中国移动研究院、方正科技、大唐电信、中国石油、工商银行、南方航空、惠普、东软、NTT等企事业单位提供技术咨询及员工培训。著有《iOS开发指南》、《交互设计的艺术》、《Cocos2d-x实战:C++卷》、《Cocos2d-x实战:Lua卷》、《Cocos2d-x实战:工具卷》、《Cocos2d-x实战:JS卷》等专业图书。
第1章准备开始
1.1本书学习路线图
1.2使用实例代码
第一篇基础篇
第2章JavaScript语言基础
2.1环境搭建
2.1.1JavaScript编辑工具
2.1.2JavaScript运行测试环境
2.1.3HelloJS实例测试
2.2标识符和保留字
2.2.1标识符
2.2.2保留字
2.3常量和变量
2.3.1常量
2.3.2变量
2.3.3命名规范
2.4注释
2.5JavaScript数据类型
2.5.1数据类型
2.5.2数据类型字面量
2.5.3数据类型转换
2.6运算符
2.6.1算术运算符
2.6.2关系运算符
2.6.3逻辑运算符
2.6.4位运算符
2.6.5其他运算符
2.7控制语句
2.7.1分支语句
2.7.2循环语句
2.7.3跳转语句
2.8数组
2.9函数
2.9.1使用函数
2.9.2变量作用域
2.9.3嵌套函数
2.9.4返回函数
2.10JavaScript中的面向对象
2.10.1创建对象
2.10.2常用内置对象
2.10.3原型
2.11Cocos2d�瞲 JS API中JavaScript继承
本章小结
第3章Cocos2d�瞲 JS API与环境搭建
3.1移动平台游戏引擎介绍
3.2Cocos2d家谱
3.3Cocos2d�瞲设计目标
3.4搭建Cocos2d�瞲 JS API开发环境
3.4.1搭建WebStorm开发环境
3.4.2安装Visual Studio开发工具
3.4.3下载和使用Cocos2d�瞲 JS API官方案例
3.4.4配置Cocos2d�瞲环境
3.4.5使用API文档
本章小结
第4章Hello Cocos2d�瞲
4.1第一个Cocos2d�瞲 JS API游戏
4.1.1创建工程
4.1.2工程文件结构
4.1.3代码解释
4.1.4本地方式运行
4.1.5调试本地代码
4.1.6Web方式运行
4.2Cocos2d�瞲核心概念
4.2.1导演
4.2.2场景
4.2.3层
4.2.4精灵
4.2.5菜单
4.3Node与Node层级架构
4.3.1Node中重要的操作
4.3.2Node中重要的属性
4.3.3游戏循环与调度
4.4Cocos2d�瞲坐标系
4.4.1UI坐标
4.4.2OpenGL坐标
4.4.3世界坐标和模型坐标
本章小结
第5章标签和菜单
5.1使用标签
5.1.1cc.LabelTTF
5.1.2cc.LabelAtlas
5.1.3cc.LabelBMFont
5.2使用菜单
5.2.1文本菜单
5.2.2精灵菜单和图片菜单
5.2.3开关菜单
本章小结
第6章精灵
6.1Sprite精灵类
6.1.1创建Sprite精灵对象
6.1.2实例: 使用纹理对象创建Sprite对象
6.2精灵的性能优化
6.2.1使用纹理图集
6.2.2使用精灵帧缓存
本章小结
第7章场景与层
7.1场景与层的关系
7.2场景切换
7.2.1场景切换相关函数
7.2.2场景过渡动画
7.3场景的生命周期
7.3.1生命周期函数
7.3.2多场景切换生命周期
本章小结
第8章动作、特效和动画
8.1动作
8.1.1瞬时动作
8.1.2间隔动作
8.1.3组合动作
8.1.4动作速度控制
8.1.5回调函数
8.2特效
8.2.1网格动作
8.2.2实例: 特效演示
8.3动画
8.3.1帧动画
8.3.2实例: 帧动画使用
本章小结
第9章用户事件
9.1事件处理机制
9.1.1事件处理机制中三个角色
9.1.2事件管理器
9.2触摸事件
9.2.1触摸事件的时间方面
9.2.2触摸事件的空间方面
9.2.3实例: 单点触摸事件
9.2.4实例: 多点触摸事件
9.3键盘事件
9.4鼠标事件
9.5加速度计与加速度事件
9.5.1加速度计
9.5.2实例: 运动的小球
本章小结
第二篇进阶篇
第10章游戏背景音乐与音效
10.1Cocos2d�瞲 JS API中音频文件
10.1.1音频文件介绍
10.1.2Cocos2d�瞲 JS API跨平台音频支持
10.2使用AudioEngine引擎
10.2.1音频文件的预处理
10.2.2播放背景音乐
10.2.3停止播放背景音乐
10.3实例: 设置背景音乐与音效
10.3.1资源文件编写
10.3.2HelloWorld场景实现
10.3.3设置场景实现
本章小结
第11章粒子系统
11.1问题的提出
11.2粒子系统基本概念
11.2.1实例: 打火机
11.2.2粒子发射模式
11.2.3粒子系统属性
11.3内置粒子系统
11.3.1内置粒子系统
11.3.2实例: 内置粒子系统
11.4自定义粒子系统
本章小结
第12章瓦片地图
12.1地图性能问题
12.2Cocos2d�瞲 JS中瓦片地图API
12.3实例: 忍者无敌
12.3.1设计地图
12.3.2程序中加载地图
12.3.3移动精灵
12.3.4检测碰撞
12.3.5滚动地图
本章小结
第13章物理引擎
13.1使用物理引擎
13.2Chipmunk引擎
13.2.1Chipmunk核心概念
13.2.2使用Chipmunk物理引擎的一般步骤
13.2.3实例: HelloChipmunk
13.2.4实例: 碰撞检测
13.2.5实例: 使用关节
本章小结
第14章Cocos2d�瞲 GUI控件
14.1按钮
14.2ImageView
14.3文本控件
14.3.1Text
14.3.2TextBMFont
14.4CheckBox
14.5LoadingBar
14.6滑块控件
本章小结
第15章Cocos2d�瞲中的3D特性
15.1一些3D概念
15.1.1网格和模型
15.1.2相机
15.1.3投影
15.2使用3D精灵
15.2.1创建Sprite3D对象
15.2.2实例: 使用模型和纹理Sprite3D对象
15.33D模型文件格式
15.4使用相机
15.4.1创建和设置Camera对象
15.4.2实例: 使用Camera对象
15.53D粒子系统
15.5.1创建PUParticleSystem3D对象
15.5.2实例: 创建Particle Universe 3D粒子
本章小结
第三篇数据与网络篇
第16章数据持久化
16.1Cocos2d�瞲 API JS中的数据持久化
16.2localStorage数据持久化
16.2.1cc.sys.localStorage API函数
16.2.2实例: MyNotes
本章小结
第17章基于HTTP的网络通信
17.1网络结构
17.1.1客户端服务器结构网络
17.1.2点对点结构网络
17.2HTTP与HTTPS协议
17.3使用XMLHttpRequest对象开发客户端
17.3.1使用XMLHttpRequest对象
17.3.2实例: 重构MyNotes
17.4数据交换格式
17.5JSON数据交换格式
17.5.1文档结构
17.5.2JSON解码与编码
17.5.3实例: 完善MyNotes
本章小结
第18章基于Node.js的Socket.IO网络通信
18.1Node.js
18.1.1Node.js安装
18.1.2Node.js测试
18.2使用Socket.IO
18.2.1Socket.IO服务器端开发
18.2.2Cocos2d�瞲 JS API的Socket.IO客户端
本章小结
第四篇优化篇
第19章性能优化
19.1缓存创建和清除缓存
19.1.1场景与资源
19.1.2缓存创建和清除时机
19.2图片与纹理优化
19.2.1选择图片格式
19.2.2拼图
19.2.3纹理像素格式
19.2.4背景图片优化
19.2.5纹理缓存异步加载
19.3JSB内存管理
19.4使用Bake层
19.5使用对象池
19.5.1对象池API
19.5.2实例: 发射子弹
本章小结
第五篇多平台发布篇
第20章移植到Web平台
20.1Web服务器与移植
20.1.1Apache HTTP Server安装
20.1.2移植到Web服务器
20.2问题汇总
20.2.1JS文件的压缩与代码混淆
20.2.2判断平台
20.2.3资源不能加载问题
本章小结
第21章移植到本地Android平台
21.1搭建交叉编译和打包环境
21.1.1Android SDK安装
21.1.2管理Android SDK
21.1.3管理Android开发模拟器
21.1.4Android NDK安装
21.1.5设置环境变量
21.2交叉编译、打包和运行
21.2.1使用cocos命令行工具
21.2.2Android.mk编译文件
21.3移植问题汇总
21.3.1JavaScript文件编译问题
21.3.2横屏与竖屏设置问题
本章小结
第22章移植到本地iOS平台
22.1iOS开发环境搭建
22.1.1Xcode安装和卸载
22.1.2Xcode操作界面
22.2编译与运行
22.3移植问题汇总
22.3.1iOS平台声音移植问题
22.3.2使用PVR纹理格式
22.3.3横屏与竖屏设置问题
22.4多分辨率屏幕适配
22.4.1问题的提出
22.4.2分辨率策略
本章小结
第六篇实战篇
第23章使用Git管理程序代码版本
23.1代码版本管理工具——Git
23.1.1版本控制历史
23.1.2术语和基本概念
23.1.3Git环境配置
23.1.4Git常用命令
23.2代码托管服务——GitHub
23.2.1创建和配置GitHub账号
23.2.2创建代码库
23.2.3删除代码库
23.2.4派生代码库
23.2.5GitHub协同开发
23.3实例: Cocos2d�瞲游戏项目协同开发
23.3.1提交到GitHub代码库
23.3.2克隆GitHub代码库
23.3.3重新获得GitHub代码库
本章小结
第24章Cocos2d�瞲 JS API敏捷开发项目实战——迷失航线手机游戏
24.1迷失航线游戏分析与设计
24.1.1迷失航线故事背景
24.1.2需求分析
24.1.3原型设计
24.1.4游戏脚本
24.2任务1: 游戏工程的创建与初始化
24.2.1迭代1.1: 创建工程
24.2.2迭代1.2: 添加资源文件
24.2.3迭代1.3: 添加常量文件SystemConst.js
24.2.4迭代1.4: 多分辨率适配
24.2.5迭代1.5: 配置文件resource.js
24.2.6迭代1.6: 发布到GitHub
24.3任务2: 创建Home场景
24.3.1迭代2.1: 添加场景和层
24.3.2迭代2.2: 添加菜单
24.4任务3: 创建设置场景
24.5任务4: 创建帮助场景
24.6任务5: 游戏场景实现
24.6.1迭代5.1: 创建敌人精灵
24.6.2迭代5.2: 创建玩家飞机精灵
24.6.3迭代5.3: 创建炮弹精灵
24.6.4迭代5.4: 初始化游戏场景
24.6.5迭代5.5: 游戏场景菜单实现
24.6.6迭代5.6: 玩家飞机发射炮弹
24.6.7迭代5.7: 炮弹与敌人的碰撞检测
24.6.8迭代5.8: 玩家飞机与敌人的碰撞检测
24.6.9迭代5.9: 玩家飞机生命值显示
24.6.10迭代5.10: 显示玩家得分情况
24.7任务6: 游戏结束场景
本章小结
第25章把迷失航线游戏发布到Google play 应用商店
25.1谷歌Android应用商店Google play
25.2还有“最后一公里”
25.2.1JavaScript文件编译
25.2.2添加图标
25.2.3生成数字签名文件
25.2.4应用程序打包
25.3发布产品
25.3.1上传APK
25.3.2填写商品详细信息
25.3.3定价和发布范围
本章小结
第26章把迷失航线游戏发布到苹果App Store
26.1苹果的App Store
26.2还有“最后一公里”
26.2.1添加图标
26.2.2添加启动界面
26.2.3修改发布产品属性
26.3iOS设备测试
26.3.1Xcode设置
26.3.2设备设置
26.4为发布进行编译
26.4.1创建开发者证书
26.4.2创建App ID
26.4.3创建描述文件
26.4.4发布编译
26.5发布上架
26.5.1创建应用
26.5.2应用定价
26.5.3基本信息输入
26.5.4上传应用
26.5.5提交审核
Cocos引擎已经步入第五个年头。我非常高兴地看到,市面上高质量的Cocos引擎相关书籍越来越多。其中,关东升老师及其团队创作的“Cocos2d-x实战”系列图书涵盖了C++卷、JS卷、Lua卷、工具卷、CocoStudio卷,组成了一个较为完整的系统,极具特色。此前,《Cocos2d-x实战: C++卷》已经发行,并在开发者中反响热烈。如今,关老师再次创作的《Cocos2d-x实战: JS卷——Cocos2d-JS开发》,是国内第一本JS相关图书,非常值得一读。
Cocos2d-JS是Cocos的一个重要分支,它无缝融合了Cocos2d-HTML5快速原型能力和Cocos2d-x原生高性能、简单、易用的API,配合完整的工具链支持,让开发更加高效,实现一次开发跨全平台部署在网页和原生应用平台上。
经过两年多的发展,Cocos2d-JS已经非常成熟、值得信赖。现在,市面上有许多大家耳熟能详的优秀作品就是采用Cocos2d-JS打造的,比如新上线的微信游戏《仙侠道》、DeNA的《变形金刚: 崛起》和《航海王: 启航》、EA的《FIFA 2014巴西世界杯》、美国大鱼游戏的《Big Fish Casino》、边锋的《三国杀传奇》、KooGame的《狂斩三国2》,以及流行的途游棋牌游戏系列,等等。此外,Cocos2d-JS也是目前Qzone玩吧网页游戏使用最广泛的游戏引擎,并且是Facebook官方推荐的跨平台游戏引擎。
手机游戏行业风云变幻,HTML5游戏及应用因为自由开放的分发方式、多样的流量获取方式、更高的转化率等,获得越来越多的青睐。对于有兴趣在手游和HTML5领域进行耕耘的开发者朋友们,关东升老师这本《Cocos2d-x实战: JS卷——Cocos2d-JS开发》是很好的参考图书。此外,该书系统地论述了Cocos2d-JS游戏开发的理论与实践,涵盖了最新版本的Cocos2d-JS v3.x核心类、瓦片地图、物理引擎、数据持久化、性能优化、数据通信、跨网页和原生平台游戏发布等多个方面。全书内容循序渐进,结构完整,并结合多个游戏实例详解,非常适合入门者学习。
非常感谢关老师,这套Cocos引擎系列图书必将为大量想要进入移动游戏开发与HTML5游戏开发的朋友提供极大的帮助。
祝广大读者在跨原生与HTML5的游戏开发世界里自由遨游,实现自己的梦想!
这本书,嗯,怎么说呢,它给我的感觉就像是一位经验丰富的老开发者,带着我一点一点地深入 Cocos2d-JS 的世界。我是一名业余爱好者,平时工作之余才接触编程,所以对一些复杂的技术概念,我需要更具象化的解释。这本书在这方面做得相当不错,它没有上来就抛出一堆专业术语,而是循序渐进地引导读者理解。特别是关于一些核心概念的阐述,作者用了非常形象的比喻和生动的例子,让我这个初学者也能很快领会。我尤其喜欢其中关于“精灵(Sprite)”和“场景(Scene)”的讲解,虽然我之前对这两个概念有过一些模糊的认识,但通过书中的细致剖析,我才真正理解了它们在游戏架构中的作用和相互关系。更让我惊喜的是,书中对于很多功能的实现,都提供了不止一种解决方案,并且会分析它们的优劣,这让我能够站在更高的角度去思考问题,而不仅仅是模仿代码。这种“授人以渔”的教学方式,对于想要提升自身技术能力的我来说,价值非常大。我期待着书中能有更多关于游戏逻辑设计的探讨,比如如何组织代码,如何处理玩家输入,以及如何实现一些常见的游戏交互。
评分这本书,它给我的感觉是,作者并不是想把所有的知识点都一股脑地塞给我,而是希望我能真正地理解并掌握 Cocos2d-JS 的开发理念。在阅读过程中,我常常会被书中一些“引申思考”的内容所吸引。例如,在讲到“状态机”的应用时,作者不仅给出了实现代码,还详细分析了在不同类型的游戏中,状态机如何帮助我们更好地管理游戏逻辑。这种深入的讲解,能够帮助我提升自己的编程思想,而不是仅仅停留在API的层面。我尤其喜欢书中关于“网络通信”的章节,虽然我目前还没有涉及到这方面的开发,但通过阅读,我了解到了 Cocos2d-JS 在网络通信方面的一些可能性,例如如何实现多人在线游戏。这为我未来的发展方向提供了宝贵的参考。而且,书中还提到了不少关于“版本更新”和“热更新”的讨论,这对于游戏的长期运营来说至关重要。总的来说,这本书提供了一个非常全面的 Cocos2d-JS 开发视角,并且在各个方面都提供了深入的见解。我希望书中能有更多关于“游戏AI”的探讨,例如如何实现一些简单的寻路算法,或者如何设计NPC的行为逻辑。
评分这本书,拿到手的时候,心里就有点小激动。作为一名刚入行不久的游戏开发者,Cocos2d-x一直是我非常关注的引擎,特别是JS版本,因为它上手相对容易,而且能快速实现很多创意。拿到这本《Cocos2d-x实战(JS卷)》,我第一个想到的就是它的“实战”二字。封面上的“清华游戏开发丛书”也为这本书增添了一份权威感,让我觉得内容一定扎实,不会是那种浮于表面的讲解。迫不及待地翻开,首先映入眼帘的是目录,我大致浏览了一下,感觉涵盖的内容非常全面,从基础概念的引入,到核心功能的讲解,再到一些进阶的技巧和性能优化,都有涉及。虽然我还没来得及深入研读每一个章节,但仅从目录的结构和章节的标题来看,我就能感受到作者在组织内容上的用心。尤其是看到一些像是“场景管理与切换”、“动画系统详解”、“物理引擎集成”这样的章节,这些都是开发中经常会遇到且至关重要的部分,能够在一个地方找到详尽的讲解,对我来说是极大的便利。我对书中的示例代码抱有很高的期待,希望它们能够清晰易懂,并且能够真正地指导我解决开发中的实际问题。
评分这本书,我觉得它更像是一本“工具书”,但又比一般的工具书多了几分人情味。作者在讲解每一个功能点的时候,都会穿插一些自己在实际开发中遇到的坑和解决方法。我特别欣赏这种“接地气”的讲解方式,因为这能让我意识到,即便是在学习过程中,也同样会面临各种各样的问题,而这些问题往往也是其他开发者所共有的。书中对很多API的讲解都非常透彻,不仅仅是告诉你怎么用,还会解释为什么这么用,背后的原理是什么。我喜欢它在讲解“事件系统”的时候,对不同事件的触发机制和处理流程进行了详细的描述,这让我对游戏中的交互逻辑有了更清晰的认识。另外,书中对于“UI系统”的讲解也让我眼前一亮,用过的框架都有自己的UI解决方案,但Cocos2d-x的UI系统,通过这本书的阐述,我能感受到它在灵活性和功能上的强大之处。我个人特别期待书中能够增加一些关于“第三方库集成”的案例,比如如何将一些流行的JS库引入到Cocos2d-x项目中,以及如何处理它们之间的兼容性问题。
评分这本书,客观来说,对于想要系统学习 Cocos2d-JS 开发的开发者来说,绝对是一份宝藏。我之前尝试过自己摸索,走了不少弯路,也看了不少网上的零散教程,但总感觉不成体系。这本《Cocos2d-x实战(JS卷)》恰好填补了我的这个需求。它从最基础的引擎安装和环境配置讲起,一步步深入到比较复杂的API和设计模式。我尤其看重其中关于“性能优化”和“资源管理”的章节。在实际开发中,这两点往往是决定游戏成败的关键。很多时候,我们写出的游戏可能在功能上都没问题,但一旦场景复杂起来,或者玩家数量增多,性能就开始出现瓶颈。这本书能提供一些行之有效的优化策略,例如如何合理地管理内存,如何减少绘制调用,如何利用C++层来实现性能敏感的代码,这对我来说非常有指导意义。而且,书中还提到了很多实用的工具和调试技巧,能够帮助我们更高效地发现和解决问题。我希望书中能有更多关于跨平台开发的讨论,例如如何在不同设备上进行测试和适配,以及如何处理不同屏幕分辨率的适配问题。
评分正在看
评分宝贝不错,快递很给力
评分学习中,书不错,
评分此用户未填写评价内容
评分趁着打折优惠,囤书以便学习
评分此用户未填写评价内容
评分公司要用,买了一本,还不错!
评分开始游戏技能树~~~~~~~
评分学习中,争取赶上这班车
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 book.idnshop.cc All Rights Reserved. 静思书屋 版权所有