出版时间:2012-5 出版社:机械工业出版社 作者:威廉姆斯 页数:202
Tag标签:无
前言
前言: 笔者撰写本书是为了解一时之痒,同时也是由于看到了目前新生的HTML5游戏社区的发展潜力。笔者希望引领读者,通过最佳实践遨游陌生的HTML5领域,并掌握Canvas、WebGL和SVG这些技术。 开发人员已经认识到HTML5并不仅仅是一个玩具。他们惊喜地发现:HTML5拥有和精美的桌面应用程序一样丰富的内容——例如,双缓冲区处理、硬件加速、无须插件支持的浏览器内置缓存等。而此前,部分开发人员还认为,只有Flash技术才能提供类似支持。可以看到一种有趣的转变,即由“一切使用Flash”到“仅当使用HTML5无法实现时才使用Flash”的技术趋势。 在笔者写这本书时,HTML5游戏编程环境已经发展得相当成熟。笔者相信这项技术将会继续发展下去,同时期待它将来取得更大进展。 本书特点 本书内容涵盖“宽泛”意义上的HTML5技术,这意味着包括HTML5规范、WebGL、SVG和JavaScript,因为它们均与游戏编程相关。书中各章讨论了实现流行游戏效果背后的数学内容,并先向读者说明努力的方向,然后再展示一些代码示例。对于那些习惯使用JavaScript编程的读者而言,本书有一章讲解创建游戏时使用的其他语言,包括在JavaScript引擎中直接运行的语言,能够被编译成JavaScript的语言,以及二者混合的语言。近几个月,服务器端JavaScript席卷了编程世界,这意味着在构建游戏过程中增加了一个额外灵活的层次。程序逻辑仍然从自包含的客户端实例开始,之后在基本不需要修改代码的情况下,由服务器端实例进行扩展。本书结尾部分讲解了发布游戏的具体途径和方法。开发人员有多种游戏引擎和开发库可选择。在处理数据过程中,书中涉及的所有开发库都具有通用性,读者可通过本书轻松掌握这些知识,并将其用于其他库中。本书不讲解WebGL的底层细节,而是选择使用高层库的方式按需访问底层API。本书的目的是使读者迅速上手,而不是讲解关于WebGL的所有内容,那需要一整本书的篇章才能讲完。 本书读者对象 本书为那些愿意学习或使用HTML5及相关Web技术开发交互式游戏的应用开发者而编写。本书假设读者具有一些编程语言知识和基本的数学知识。 本书代码示例及练习 读者可以访问http://www.informit.com/title/9780321767363下载各章的代码示例和练习答案。另外,也可以访问Github网站https://github.com/jwill/html5-game-book找到代码示例。 致谢 对于本书而言,我有很多人要感谢。首先是在本书出版过程中提供了无法估量的贡献的Pearson团队(包括Trina MacDonald、Songlin Qiu和Olivia Basegio),他们使本书更棒,我认为他们成功做到了。撰写本书时,主题在迅速地变化发展,技术编辑Romin Irani、Pascal Rettig和Robert Schwentker对市场走向进行了特别的考量,我很高兴与他们合作,他们分享我的激情,给予我快速、明确的反馈,验证我的猜想并使我修正偏离的方向。最后,我要感谢的是我的家人和朋友,他们很有耐心而没有怨言,当我疲惫的时候让我放松,让我休息。
内容概要
《HTML5游戏开发实践指南》以实践为导向,全面讲解了HTML5游戏开发所需掌握的各种最新技术、可以使用的各种工具和框架,以及开发的思维和方法,是系统学习HTML5游戏开发的最佳选择之一。
本书内容全面而且极具前瞻性,不仅重点阐述了HTML5和JavaScript的核心技术,而且还仔细讲解了WebGL、SVG、ProcessingJS、Inkscape、RaphalJS、PhoneGap、SGF、CoffeeScript和Node.js等与HTML5开发相关的各种技术、工具、框架、类库等的功能和使用方法,为HTML5应用开发者描绘了一幅完整的技术全景图。更为重要的是,它还深入讲解了HTML5游戏的运作机制、游戏开发与设计的思维和方法、游戏的性能优化方法,及其在各种平台上的发布方法。本书的实战性和可操作性也非常强,包含大量示例,有助于读者对理论知识进行融会贯通。
全书一共11章:第1章详细讲解了Canvas等HTML5的核心技术;第2章首先介绍了如何搭建一个完善的HTML5开发环境,然后讲解了如何部署HTML5应用开发需要的Web服务器端工具、浏览器端工具以及HTML5工具;第3章讲解了JavaScript的核心技术以及jQuery框架的使用;第4章探讨了游戏的设计思路和游戏的运行机制;第5~8章以实例的方式讲解了如何通过Canvas标签、SVG、RaphalJS、WebGL、Three.js、GWT、CoffeeScript等最新流行的技术和框架来开发游戏;第9章讲解了如何利用现今流行的Node.js来构建多人游戏服务器;第10章讲解了在Android、iOS、Windows
Phone等主流移动平台上开发HTML5游戏的核心技术和PhoneGap等移动开发框架;第11章探讨了HTML5游戏的资源优化以及在各种平台的完整发布过程。
作者简介
James
L.Williams是硅谷一名经验丰富的开发专家,经常在世界各地讲解有关Java、用户界面和游戏编程方面的内容。他发明了SwingXBuilder(一种利用SwingX组件创建用户界面的特定域语言),同时,他还是Griffon项目(一个使用Groovy构建富应用程序的框架)的联合创始人之一。由他和他的团队构思、编码并实现了运行在SXSW上的教练车产品,因此在StartupBus
2011大赛中获奖。
书籍目录
译者序
前言
第1章 HTML5概述
1.1 超越基本的HTML
1.1.1 JavaScript
1.1.2 AJAX2
1.2 填补空白
1.2.1 Google Gears
1.2.2 Chrome Frame
1.3 使用WebSockets和Web Workers编程
1.3.1 WebSockets
1.3.2 Web Workers
1.4 应用程序缓存
1.5 数据库API
1.5.1 WebSQL API
1.5.2 IndexedDB API
1.6 Web Storage
1.7 定位
1.8 提示用户消息
1.8.1 为显示提示请求权限
1.8.2 创建提示
1.8.3 与提示信息实现交互
1.9 媒体元素
1.9.1 控制媒体播放
1.9.2 处理不支持的格式
1.10 绘画API
1.10.1 Canvas
1.10.2 SVG
1.10.3 WebGL
1.11 使用Microdata传达信息
1.12 小结
第2章 配置开发环境
2.1 开发工具
2.1.1 安装Java
2.1.2 安装Eclipse IDE和Google插件
2.1.3 Google Web Toolkit
2.2 Web服务器端工具和选项
2.2.1 Google App Engine
2.2.2 Opera Unite
2.2.3 Node.js和RingoJS
2.3 浏览器端工具
2.3.1 Chrome开发人员工具
2.3.2 Chrome扩展程序
2.3.3 Safari开发人员工具
2.3.4 Firebug
2.4 HTML5工具
2.4.1 ProcessingJS
2.4.2 Inkscape
2.4.3 SVG-edit
2.4.4 Raphal
2.5 3D建模工具
2.6 小结
第3章 JavaScript概述
3.1 什么是JavaScript
3.1.1 JavaScript基本类型
3.1.2 理解算术运算符
3.1.3 理解JavaScript函数
3.1.4 first-class对象函数
3.1.5 比较运算符
3.2 条件和循环语句
3.2.1 使用循环控制程序流
3.2.2 使用setTimeout和setInterval函数实现延迟执行
3.3 使用继承和多态创建复杂对象
3.4 JQuery简介
3.4.1 使用选择器操作DOM元素
3.4.2 JQuery事件
3.4.3 JQuery中的AJAX41
3.4.4 跨站点脚本
3.5 JSON:另一种JavaScript格式
3.6 浏览器外的JavaScript
3.6.1 移动平台
3.6.2 将JavaScript作为中间语言
3.6.3 桌面应用中的JavaScript
3.7 服务器端JavaScript
3.8 小结
3.9 练习
第4章 游戏运行机制
4.1 游戏设计
4.1.1 撰写基本设计文档
4.1.2 确定游戏类型
4.1.3 游戏循环
4.1.4 获取用户输入
4.2 使用高级数据结构实现游戏对象
4.2.1 使用Set构建唯一数据列表
4.2.2 使用链表创建对象图
4.3 理解SGF中的API
4.3.1 核心API
4.3.2 组件API
4.3.3 资源API及网络API
4.4 使用SGF构建乒乓球游戏
4.4.1 设置应用程序
4.4.2 绘制游戏配件
4.5 碰撞检测和响应
4.5.1 理解牛顿三大定律
4.5.2 让球动起来
4.5.3 高级碰撞检测和粒子系统
4.6 通过人工智能增加游戏难度
4.6.1 将人工智能应用到乒乓球游戏
4.6.2 将人工智能应用到井字棋游戏
4.7 小结
4.8 练习
第5章 使用Canvas标签构建游戏
5.1 Canvas基础
5.1.1 绘制路径
5.1.2 绘制井字棋游戏的棋子
5.2 使用变换绘制Canvas中的对象
5.2.1 变换规则
5.2.2 保存和恢复Canvas绘图状态
5.3 在Canvas中使用图片
5.3.1 使用Data URI访问图片
5.3.2 使用Spritesheets访问图片
5.3.3 在Canvas中绘制图片
5.4 使用Trident.js创建动画对象
5.4.1 创建时间线
5.4.2 使用关键帧实现动画
5.4.3 使用缓冲函数创建非线性时间线
5.4.4 使用Spritesheets创建游戏对象动画
5.5 在2D空间模拟3D
5.5.1 透视投影
5.5.2 视差
5.5.3 使用JavaScript创建视差效果
5.6 创建Copy Me游戏
5.6.1 绘制游戏对象
5.6.2 创建游戏音调
5.6.3 在浏览器中播放MIDI文件
5.6.4 同时播放多个音频
5.6.5 顺序播放音频
5.6.6 绘制游戏文本
5.6.7 使用CSS设置文本字体
5.7 小结
5.8 练习
第6章 使用SVG和RaphalJS构建游戏
6.1 SVG概述
6.2 使用RaphalJS
6.2.1 设置游戏开发环境
6.2.2 创建游戏板
6.2.3 绘制游戏文本
6.3 自定义字体
6.3.1 设置颜色
6.3.2 加载游戏资源
6.3.3 将SVG文件转换成位图
6.4 创建游戏类
6.4.1 洗牌
6.4.2 绘制及卡片动画
6.5 制作高级动画
6.5.1 路径
6.5.2 moveto和lineto
6.5.3 curveto
6.5.4 从SVG文件中导出路径
6.5.5 在路径中使用动画
6.6 使用插件扩展Raphal
6.6.1 添加函数
6.6.2 SVG滤镜
6.7 权衡速度
6.8 小结
6.9 练习
第7章 使用WebGL和Three.js构建游戏
第8章 不使用JavaScript构建游戏
第9章 构建多人游戏服务器
第10章 开发移动游戏
第11章 游戏发布
章节摘录
第1章 HTML5概述 HTML5是HTML下一版本的规范草案,它突破了其前身,即HTML4 和XHTML技术。在HTML5中移除了部分元素,同时HTML5也不再基于旧的文本标记标准SGML。HTML5比HTML4在错误语法方面具有更好的兼容性。同时,还允许不同浏览器以相同方式解析和展示格式错误的文档。这个版本的HTML增加了许多值得注意的内容,例如,内建原生图片支持以及视听元素。本章讲解HTML5的新增特性和相关的JavaScript API。 1.1 超越基本的HTML Tim Berners-Lee发明的HTML(Hypertext Markup Language,超文本标记语言)从1990年至今已有相当长一段历史。虽然所有的进步对于推动标准前进都至关重要,但笔者最感兴趣的是1996年出现的JavaScript和2005年出现的AJAX。这些新特性使得Web页面,从一个表示静态单向数据的媒体(例如,报纸和图书)转变为一个允许双向交流的媒体。 1.1.1 JavaScript JavaScript(前身为LiveScript,正式名为ECMAScript)由Netscape公司开发的浏览器脚本语言发展而来。它是一种基于原型的弱类型脚本语言,具有面向对象或者面向函数的特性。尽管名为JavaScript,也继承了Java语言的某些方面,但是它与C语言更为相似。 作为Sun Microsystems公司(现为Oracle公司)和Netscape公司之间,关于推广脚本语言和Java Applet技术市场协议的一部分,该语言被重命名为JavaScript。JavaScript语言广泛用于编写客户端Web页面脚本。同时,由于Sun公司已将“JavaScript”名称注册成为商标,所以微软公司将发布的与其兼容的脚本语言命名为JScript,并对其添加了一些新内容,并进行了一些修改。 ……
编辑推荐
全面讲解HTML 5游戏开发所需掌握的各种最新技术、工具和框架,以及开发的思维和方法;包含应用程序学习示例的整个开发过程,具有极强的实战性和可操作性。
图书封面
图书标签Tags
无
评论、评分、阅读与下载