书籍详情
HTML 5完美游戏开发
作者:(白俄罗斯)Egor Kuryanovich等著
出版社:人民邮电出版社
出版时间:2013-06-01
ISBN:9787115314550
定价:¥49.00
购买这本书可以去
内容简介
《HTML 5完美游戏开发》汇集了顶尖的HTML5游戏开发人员的编程技术和技巧,他们热情地与我们分享了制作和编写游戏的经验。读者将会学到很多编程的专业知识和技巧,书中的real-world游戏示例还重点讲解了游戏优化的方法,并能从中加以借鉴,以便实际应用到自己的项目中。书中给出的技术不仅仅只是做个普通的游戏,是要做一个超级棒的游戏。《HTML 5完美游戏开发》囊括了JavaScript、HTML 5、WebGL和CSS 3的各种编程实例代码,展示了如何制作那些让人乐此不疲的游戏,以及游戏开发中必不可少的一些技能。不管你是一个为了让游戏一鸣惊人而寻找秘诀的专业游戏开发者,还是一个需要动力,想找个项目练练手积攒经验的新手,本书都有你想要的知识和技术。书中的内容和游戏包括了由简到难的A到B游戏;介绍了如何创建、保存和加载游戏进度的Marble Run游戏;制作一个像Cycleblob的3D竞速动作游戏;《雪人大战》(Snowball Fight)里的插值(entity interpolation)技术;角色扮演类游戏Grave Danger;在Bar Fight游戏中学习WebGL的高级用法;Far7游戏完美地结合了Web中的HTML 5技术;做一个类似Z-Type游戏的秘诀。《HTML 5完美游戏开发》适合HTML 5开发者、网络游戏开发者及HTML 5爱好者学习用书。
作者简介
Egor Kuryanovich 是来自白俄罗斯,住在明斯克的网页开发工程师。网名叫Sontan,他的游戏Far7,曾经赢得Google’s 2010 Game On competition最佳技术类奖。
目录
第1章 Open Web Game王国
1.1 Open Web Game简介
1.2 为什么要关注Open Web Game
1.2.1 入门很简单
1.2.2 优秀的技术文档
1.2.3 庞大而友好的社区
1.2.4 一次编写,一劳永逸
1.2.5 代码未编译及开源
1.2.6 全民参与
1.2.7 拥有世界上最大的用户群
1.2.8 Open Web Game现状
1.2.9 现有游戏浏览器技术
1.2.10 canvas和SVG实现2D图形
1.2.11 WebGL实现3D图形
1.2.12 requestAnimationFrame实现高性能动画
1.2.13 HTML5 音频和音频数据处理API
1.2.14 WebSocket实现多人实时游戏
1.2.15 数据本地存储IndexedDB/ Local Storage和其他API
1.2.16 通过应用缓存离线玩游戏
1.2.17 全屏API让游戏身临其境
1.2.18 鼠标锁定API让鼠标变听话
1.2.19 GamePad API实现console般游戏体验
1.2.20 BrowserID服务识别用户
1.2.21 创建WebRT一样的本地OS应用
1.2.22 未来的路还很长
1.2.23 现有的出色的Open Web Game
1.2.24 现有的游戏发布和盈利方式
1.2.25 Open Web Game的缺点
1.2.26 未来发展方向
第2章 化繁为简
2.1 自我介绍
2.2 A到B游戏
2.2.1 影响和灵感
2.2.2 游戏创作阶段
2.2.3 准备阶段
2.2.4 正式开发阶段
2.2.5 游戏发布
2.2.6 积分榜
2.3 简化原则
2.4 A到B游戏何以成功
2.5 Processing.js
2.5.1 Processing.js如何工作
2.5.2 如何使用Processing.js
2.5.3 Processing.js的优缺点
2.5.4 是否适合开发游戏
2.6 Processing.js实例和整合
2.6.1 Processing基本语法
2.6.2 嵌入sketch
2.6.3 嵌入Processing代码
2.6.4 整合JS
2.6.5 使用音频
2.6.6 导入和加载图像
2.6.7 jQuery实现积分榜
2.7 小结
2.8 资源分享
第3章 从零开始制作多平台HTML5游戏
3.1 简介
3.2 三部分代码结构
3.2.1 HTML标记语言
3.2.2 CSS样式描述语言
3.2.3 制作页面缓动效果
3.2.4 JavaScript高级动态语言
3.3 编写象棋游戏
3.3.1 游戏规则
3.3.2 游戏样式
3.3.3 游戏逻辑
3.4 移动设备框架
3.4.1 jQuery和Zepto
3.4.2 PhoneGap、类库
3.4.3 PhoneGap Build
3.4.4 象棋游戏的配置
3.4.5 WebAppBuilder
3.4.6 象棋游戏的Makefile
3.5 国际化
3.6 纯DOM游戏vs canvas游戏
3.6.1 canvas API回顾
3.6.2 方案对比:canvas
3.6.3 方案对比:纯DOM
3.6.4 canvas和DOM混合使用
3.7 小结
3.8 其他资源
第4章 创建、保存和加载路径
4.1 我们是谁?要做什么?为什么要做
4.2 应用及意义
4.3 为何关卡很重要
4.4 化整为零
4.5 HTML标签
4.6 加一点点样式
4.7 JavaScript结构
4.8 循环绘制
4.9 砖块
4.9.1 矩形砖块
4.9.2 圆形砖块
4.9.3 扇形砖块
4.9.4 三角形砖块
4.10 将砖块添加到网格中
4.11 角度
4.12 清除按钮
4.13 存储
4.13.1 保存路径
4.13.2 还原路径
4.14 保存按钮
4.15 还原保存的路径
4.16 总结
第5章 详解3D CSS
5.1 3D CSS简介
5.2 HTML元素总览
5.3 游戏变量
5.4 Container的3D属性
5.5 事件和游戏计时器
5.6 游戏循环总览
5.7 创建新的小鱼
5.8 更新小鱼
5.9 渲染小鱼
5.10 创建小鱼
5.11 设置小鱼属性
5.12 回收小鱼
5.13 小鱼爆炸
5.14 粒子
5.15 平行视差图层
5.16 禁用默认的触控/鼠标行为
5.17 iPad上的河豚鱼游戏
5.18 结论
第6章 粒子系统
6.1 粒子系统简介
6.2 数学知识
6.2.1 向量
6.2.2 增加检测
6.2.3 随机值
6.2.4 粒子系统的组件
6.2.5 粒子系统中的粒子
6.2.6 发射器
6.2.7 粒子系统的作用力
6.2.8 渲染器
6.2.9 系统
6.3 你好焰火
6.3.1 设计火花
6.3.2 实现主循环
6.3.3 实现发射器
6.3.4 作用力
6.3.5 生存和死亡
6.3.6 渲染
6.4 火
6.4.1 创建纹理
6.4.2 装载纹理
6.4.3 实现发射器
6.4.4 作用力的实现
6.4.5 实现主循环
6.4.6 旋转
6.4.7 实体的渐隐
6.5 烟
6.5.1 创建纹理
6.5.2 实现发射器
6.5.3 实现主循环
6.6 优化
6.6.1 单个粒子
6.6.2 类型化数组
6.6.3 requestAnimationFrame
6.7 细节优化
6.7.1 链式表达式
6.7.2 取舍操作
6.8 优化焰火
6.9 总结
第7章 开始WebGL之旅
7.1 WebGL起源
7.2 WebGL是如何工作的
7.2.1 用途和局限
7.2.2 演示
7.3 操作系统,显卡,浏览器支持
7.4 库
7.4.1 矩阵库
7.4.2 高级API
7.5 调试工具
7.6 3D刷新器
7.6.1 坐标系统
7.6.2 变换
7.6.3 组合场景视图
7.7 GLSL
7.8 使用WebGL
7.8.1 画一个简单的形状
7.8.2 动画和景深(depth)
7.9 一个基础的游戏
7.10 总结
第8章 CycleBlob:一个基于WebGL的Lightcycle游戏
8.1 什么是WebGL
8.2 开始WebGL之旅
8.3 3D模型和几何形状
8.4 移动和定位
8.4.1 网格之上
8.4.2 摄像机定位
8.4.3 动画引擎
8.5 代码结构
8.6 结论
8.7 参考
第9章 使用WebSocks实现实时多人游戏
9.1 网络代码的哲学
9.2 设计碰碰车游戏
9.3 游戏逻辑
9.4 游戏客户端,第一部分
9.5 游戏服务器
9.6 游戏客户端,第二部分
9.7 结论
9.8 附录:设置node.js
9.8.1 Windows
9.8.2 UNIX
第10章 艰难技术的选择
10.1 为什么选择很难做
10.2 渲染
10.2.1 SVG
10.2.2 canvas
10.3 音频
10.4 连接
10.4.1 服务器端发送事件
10.4.2 WebSocket
10.5 客户端数据库
10.6 页面字体
10.7 结论
索引
1.1 Open Web Game简介
1.2 为什么要关注Open Web Game
1.2.1 入门很简单
1.2.2 优秀的技术文档
1.2.3 庞大而友好的社区
1.2.4 一次编写,一劳永逸
1.2.5 代码未编译及开源
1.2.6 全民参与
1.2.7 拥有世界上最大的用户群
1.2.8 Open Web Game现状
1.2.9 现有游戏浏览器技术
1.2.10 canvas和SVG实现2D图形
1.2.11 WebGL实现3D图形
1.2.12 requestAnimationFrame实现高性能动画
1.2.13 HTML5 音频和音频数据处理API
1.2.14 WebSocket实现多人实时游戏
1.2.15 数据本地存储IndexedDB/ Local Storage和其他API
1.2.16 通过应用缓存离线玩游戏
1.2.17 全屏API让游戏身临其境
1.2.18 鼠标锁定API让鼠标变听话
1.2.19 GamePad API实现console般游戏体验
1.2.20 BrowserID服务识别用户
1.2.21 创建WebRT一样的本地OS应用
1.2.22 未来的路还很长
1.2.23 现有的出色的Open Web Game
1.2.24 现有的游戏发布和盈利方式
1.2.25 Open Web Game的缺点
1.2.26 未来发展方向
第2章 化繁为简
2.1 自我介绍
2.2 A到B游戏
2.2.1 影响和灵感
2.2.2 游戏创作阶段
2.2.3 准备阶段
2.2.4 正式开发阶段
2.2.5 游戏发布
2.2.6 积分榜
2.3 简化原则
2.4 A到B游戏何以成功
2.5 Processing.js
2.5.1 Processing.js如何工作
2.5.2 如何使用Processing.js
2.5.3 Processing.js的优缺点
2.5.4 是否适合开发游戏
2.6 Processing.js实例和整合
2.6.1 Processing基本语法
2.6.2 嵌入sketch
2.6.3 嵌入Processing代码
2.6.4 整合JS
2.6.5 使用音频
2.6.6 导入和加载图像
2.6.7 jQuery实现积分榜
2.7 小结
2.8 资源分享
第3章 从零开始制作多平台HTML5游戏
3.1 简介
3.2 三部分代码结构
3.2.1 HTML标记语言
3.2.2 CSS样式描述语言
3.2.3 制作页面缓动效果
3.2.4 JavaScript高级动态语言
3.3 编写象棋游戏
3.3.1 游戏规则
3.3.2 游戏样式
3.3.3 游戏逻辑
3.4 移动设备框架
3.4.1 jQuery和Zepto
3.4.2 PhoneGap、类库
3.4.3 PhoneGap Build
3.4.4 象棋游戏的配置
3.4.5 WebAppBuilder
3.4.6 象棋游戏的Makefile
3.5 国际化
3.6 纯DOM游戏vs canvas游戏
3.6.1 canvas API回顾
3.6.2 方案对比:canvas
3.6.3 方案对比:纯DOM
3.6.4 canvas和DOM混合使用
3.7 小结
3.8 其他资源
第4章 创建、保存和加载路径
4.1 我们是谁?要做什么?为什么要做
4.2 应用及意义
4.3 为何关卡很重要
4.4 化整为零
4.5 HTML标签
4.6 加一点点样式
4.7 JavaScript结构
4.8 循环绘制
4.9 砖块
4.9.1 矩形砖块
4.9.2 圆形砖块
4.9.3 扇形砖块
4.9.4 三角形砖块
4.10 将砖块添加到网格中
4.11 角度
4.12 清除按钮
4.13 存储
4.13.1 保存路径
4.13.2 还原路径
4.14 保存按钮
4.15 还原保存的路径
4.16 总结
第5章 详解3D CSS
5.1 3D CSS简介
5.2 HTML元素总览
5.3 游戏变量
5.4 Container的3D属性
5.5 事件和游戏计时器
5.6 游戏循环总览
5.7 创建新的小鱼
5.8 更新小鱼
5.9 渲染小鱼
5.10 创建小鱼
5.11 设置小鱼属性
5.12 回收小鱼
5.13 小鱼爆炸
5.14 粒子
5.15 平行视差图层
5.16 禁用默认的触控/鼠标行为
5.17 iPad上的河豚鱼游戏
5.18 结论
第6章 粒子系统
6.1 粒子系统简介
6.2 数学知识
6.2.1 向量
6.2.2 增加检测
6.2.3 随机值
6.2.4 粒子系统的组件
6.2.5 粒子系统中的粒子
6.2.6 发射器
6.2.7 粒子系统的作用力
6.2.8 渲染器
6.2.9 系统
6.3 你好焰火
6.3.1 设计火花
6.3.2 实现主循环
6.3.3 实现发射器
6.3.4 作用力
6.3.5 生存和死亡
6.3.6 渲染
6.4 火
6.4.1 创建纹理
6.4.2 装载纹理
6.4.3 实现发射器
6.4.4 作用力的实现
6.4.5 实现主循环
6.4.6 旋转
6.4.7 实体的渐隐
6.5 烟
6.5.1 创建纹理
6.5.2 实现发射器
6.5.3 实现主循环
6.6 优化
6.6.1 单个粒子
6.6.2 类型化数组
6.6.3 requestAnimationFrame
6.7 细节优化
6.7.1 链式表达式
6.7.2 取舍操作
6.8 优化焰火
6.9 总结
第7章 开始WebGL之旅
7.1 WebGL起源
7.2 WebGL是如何工作的
7.2.1 用途和局限
7.2.2 演示
7.3 操作系统,显卡,浏览器支持
7.4 库
7.4.1 矩阵库
7.4.2 高级API
7.5 调试工具
7.6 3D刷新器
7.6.1 坐标系统
7.6.2 变换
7.6.3 组合场景视图
7.7 GLSL
7.8 使用WebGL
7.8.1 画一个简单的形状
7.8.2 动画和景深(depth)
7.9 一个基础的游戏
7.10 总结
第8章 CycleBlob:一个基于WebGL的Lightcycle游戏
8.1 什么是WebGL
8.2 开始WebGL之旅
8.3 3D模型和几何形状
8.4 移动和定位
8.4.1 网格之上
8.4.2 摄像机定位
8.4.3 动画引擎
8.5 代码结构
8.6 结论
8.7 参考
第9章 使用WebSocks实现实时多人游戏
9.1 网络代码的哲学
9.2 设计碰碰车游戏
9.3 游戏逻辑
9.4 游戏客户端,第一部分
9.5 游戏服务器
9.6 游戏客户端,第二部分
9.7 结论
9.8 附录:设置node.js
9.8.1 Windows
9.8.2 UNIX
第10章 艰难技术的选择
10.1 为什么选择很难做
10.2 渲染
10.2.1 SVG
10.2.2 canvas
10.3 音频
10.4 连接
10.4.1 服务器端发送事件
10.4.2 WebSocket
10.5 客户端数据库
10.6 页面字体
10.7 结论
索引
猜您喜欢