新書推薦:
《
东野圭吾:变身(来一场真正的烧脑 如果移植了别人的脑子,那是否还是我自己)
》
售價:HK$
64.9
《
推荐连接万物
》
售價:HK$
63.8
《
严复与福泽谕吉启蒙思想比较(王中江著作系列)
》
售價:HK$
165.0
《
甘于平凡的勇气
》
售價:HK$
49.5
《
存在与结构:精神分析的法国转向——以拉康与萨特为中心
》
售價:HK$
52.8
《
生成式人工智能:AIGC与多模态技术应用实践指南
》
售價:HK$
108.9
《
石油帝国的兴衰:英国的工业化与去工业化
》
售價:HK$
97.9
《
古典的回響:溪客舊廬藏明清文人繪畫
》
售價:HK$
437.8
|
編輯推薦: |
本书是在《Cocos2d-x实战:JS卷Cocos2d-JS开发》基础上的升级,增加了*的Cocos2d-x JS API的支持,增加了Cocos2d-x的3D特性和GUI控件内容,全书分为六篇:基础篇、进阶篇、数据与网络篇、优化篇、多平台发布篇和实战篇。从JavaScript基础语言开始,介绍了Cocos2d-x核心概念、瓦片地图、物理引擎、音乐音效、GUI控件、3D特性、数据持久化、网络通信、性能优化、多平台发布和程序代码管理,*后是项目实战,介绍迷失航线手机游戏开发过程,并且如何将该游戏上架到Google play和苹果App Store应用商店。本书不仅适合于企业一线开发人员学习和参考,也同样适合于广大高校老师和学生学习Cocos2d-x JS API开发。配套资源:本书配套提供源代码下载、勘误和技术支持,网址见书中前言。
|
內容簡介: |
本书系统介绍了Cocos2dx游戏编程和开发技术,介绍了使用Cocos2dxJS API中核心类、瓦片地图、物理引擎、音乐音效、Cocos2dx GUI控件、Cocos2dx中的3D特性、数据持久化、网络通信、性能优化、多平台发布、程序代码管理、两大应用商店发布产品。 全书分为6篇: 基础篇、进阶篇、数据与网络篇、优化篇、多平台发布篇和实战篇。 基础篇包括第2章~第9章,介绍了JavaScript语言基础、Cocos2dx介绍、环境搭建、标签、菜单、精灵、场景、层、动作、特效、动画和用户事件。 进阶篇包括第10章~第15章,介绍了游戏音乐与音效、粒子系统、瓦片地图、物理引擎、Cocos2dx GUI控件和Cocos2dx中的3D特性。 数据与网络篇包括第16章~第18章,介绍了数据持久化、基于HTTP网络通信和基于Node.js的Socket.IO网络通信。 优化篇包括第19章性能优化。 多平台发布篇包括第20章~第22章,介绍了发布到Web平台、发布到本地Android平台和发布到本地iOS平台。 实战篇包括第23章~第26章,介绍了使用Git管理代码版本、项目实战: 迷失航线手机游戏、发布到Google play应用商店和发布到苹果App Store。
|
關於作者: |
关东升 国内知名iOS技术作家,iOS技术顾问,高级培训讲师,移动开发专家。担任51CTO社区iOS技术顾问,精通iOS、Android、Windows Phone及HTML5等移动开发技术。曾先后主持开发大型网络游戏《神农诀》的iOS和Android客户端开发,国家农产品追溯系统的iPad客户端开发,酒店预订系统的iOS客户端开发,金融系统的iOS、Windows Phone 及Android客户端开发。在App Store上发布数款游戏和应用软件,擅长移动平台的应用和游戏类项目开发。长期为中国移动研究院、云南移动、东软、方正科技、大唐电信、中石油、深圳康拓普、上海财富168、天津港务局等企事业单位授课。著有《iOS实战:入门与提高卷(Swift版)》《iOS实战:传感器卷(Swift版)》《iOS实战:图形图像、动画和多媒体卷(Swift版)》《iOS开发指南从零基础到App Store上架》《交互设计的艺术iOS 7拟物化到扁平化革命》《Cocos2d-x实战:C卷(第2版)》《Cocos2d-x实战:Lua卷(第2版)》《Cocos2d-x实战:JS卷Cocos2d-JS开发(第2版)》《Cocos2d-x实战:工具卷(第2版)》等专业图书。
|
目錄:
|
目录
序(一)1
序(二)3
前言5
第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.11Cocos2dx JS API中JavaScript继承
本章小结
第3章Cocos2dx JS API与环境搭建
3.1移动平台游戏引擎介绍
3.2Cocos2d家谱
3.3Cocos2dx设计目标
3.4搭建Cocos2dx JS API开发环境
3.4.1搭建WebStorm开发环境
3.4.2安装Visual Studio开发工具
3.4.3下载和使用Cocos2dx JS API官方案例
3.4.4配置Cocos2dx环境
3.4.5使用API文档
本章小结
第4章Hello Cocos2dx
4.1第一个Cocos2dx JS API游戏
4.1.1创建工程
4.1.2工程文件结构
4.1.3代码解释
4.1.4本地方式运行
4.1.5调试本地代码
4.1.6Web方式运行
4.2Cocos2dx核心概念
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.4Cocos2dx坐标系
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.1Cocos2dx JS API中音频文件
10.1.1音频文件介绍
10.1.2Cocos2dx 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.2Cocos2dx 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章Cocos2dx GUI控件
14.1按钮
14.2ImageView
14.3文本控件
14.3.1Text
14.3.2TextBMFont
14.4CheckBox
14.5LoadingBar
14.6滑块控件
本章小结
第15章Cocos2dx中的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.1Cocos2dx 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.2Cocos2dx 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实例: Cocos2dx游戏项目协同开发
23.3.1提交到GitHub代码库
23.3.2克隆GitHub代码库
23.3.3重新获得GitHub代码库
本章小结
第24章Cocos2dx 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提交审核
26.6常见审核不通过的原因
26.6.1功能问题
26.6.2用户界面问题
26.6.3商业问题
26.6.4不当内容
26.6.5其他问题
本章小结
|
內容試閱:
|
前言 Cocos2dx实战系列图书第1版出版后,得到业界一致好评,随着Cocos2dx版本的变化,很多API有了较大变化,很多读者希望我们升级Cocos2dx实战系列图书。经过几个月努力,我们终于在2016年7月完成初稿,几个月来,智捷iOS课堂团队夜以继日,几乎推掉一切社交活动,放弃很多企业邀请我去讲课的机会,全力编写此书。每一个文字、每一个图片、每一个实例都是我们的呕心之作。这次Cocos2dx实战系列图书升级包括如下4本书: 《Cocos2dx实战: C卷》(第2版) 《Cocos2dx实战: JS卷Cocos2dJS开发》(第2版) 《Cocos2dx实战: Lua卷》(第2版) 《Cocos2dx实战: 工具卷》(第2版)本书是Cocos2dx游戏引擎JS卷,就是使用JavaScript语言进行Cocos2dx开发API。关于本书的更多内容请读者关注智捷课堂官方网站http:www.51work6.com。关于源代码为了更好地为广大读者提供服务,我们专门为本书建立的一个网站,网址为: http:www.51work6.combookcocos22.php,大家可以查看相关出版进度,并对书中内容发表评论,提出宝贵意见。勘误与支持我们在网站http:www.51work6.combookcocos22.php中建立了一个勘误专区,及时地把书中的问题、失误和纠正反馈给广大读者,您发现了问题可以在网上留言,也可以发送电子邮件到: eorient@sina.com,我们会在第一时间回复您,也可以在新浪微博中与我们联系: @tony_关东升。致谢本书主要由关东升编写。此外,智捷课堂团队的赵大羽、赵志荣、关锦华也参与了部分内容的写作。在此感谢清华大学出版社的盛东亮编辑给我们提供了宝贵的意见。感谢赵大羽老师手绘了书中全部草图,并从专业的角度修改书中图片,力求更加真实完美地奉献给广大读者。感谢我的家人对我的关心和照顾,使我能投入全部精力专心编写此书。由于时间仓促,书中难免存在不妥之处,请读者原谅,并提出宝贵意见。
关东升2017年1月于北京
|
|