我写这本书是为了解一时之痒,同时也是因为我当时看到了新生的HTML5游戏社区的潜力。我想帮助开发者在HTML5这片处女之地上开垦,学习Canvas、WebGL和 SVG这些技术以及它们的最佳实践。
有时候需要费一些讨论才能说服开发者,HTML5并不是只能用来玩玩的东西。他们已经惊喜地发现HTML5可以拥有和桌面程序一样精湛的丰富内容——比如双缓冲技术、硬件加速、以及非插件式的浏览器范围之内的缓存技术。很多人以为这些技术只有Flash才能提供,而有趣的是我们将会看到由“一切都用Flash”到“只当用HTML5实现不了时才使用Flash”的转变趋势。
在我写这本书地时候,HTML5游戏编程环境已经发展得相当成熟,我相信这项技术会继续发展下去,同时期待来年它取得的进展。
本书的主要特点
本书覆盖了“宽松定义”的HTML5,这意味着包括HTML5 规范、WebGL、SVG和JavaScript,因为它们跟游戏编程有关。本书的一些章节讨论了流行的游戏效果后面的数学,在提供一两行代码的解决方案之前告诉你实现的困难之处与重点。对于还没有熟悉JavaScript编程的读者,本书有一章讨论了同样能够用来编写游戏的其它语言,包括了直接在JavaScript引擎中运行的语言、能够被编译成JavaScript的语言、以及这两者混合的语言。最近几个月,服务端JavaScript席卷了编程世界。这表明有另一个层次的灵活性来构建游戏。逻辑可以开始于一个自包含的客户端实例,然后在基本不需要修改代码的情况下发展到服务端实例。这本书的结尾讨论了在哪里以及如何发布你的游戏。有多种游戏引擎和开发库可供你选择,这本书中所用的开发库在处理数据上都是不唐突的(unobtrusive),你可以很容易地学好这些章节并将它们应用到其它开发库中。这本书不讨论WebGL的底层细节,而是选择使用一个高层的库,该库允许在需要的时候访问底层API。本书的目的就是让你迅速上手,不会告诉你目前关于WebGL的所有细节,那要一本书的篇章才能讲完。
本书的目标读者
本书是为那些使用或者想要学习怎样使用HTML5及相关网页技术开发交互式游戏的应用开发者而写的。本书需要你有一些编程语言和基础数学的知识。
本书的示例代码和练习
这本书所包括的代码行和练习的答案在本书的网站上有提供。你可以到http://www.informit.com/title/9780321767363下载每章的代码及练习的答案。你也可以在Github的这个网址https://github.com/jwill/html5-game-book上找到本章的代码。
1. HTML5介绍
HTML5是HTML下次主要迭代的一个规范,它是它的前身HTML4 和XHTML的突破。在HTML5中一些元素被移除了,同时HTML5也不在基于旧的文本标记标准SGML。HTML5比HTML4更能兼容错误的语法,同时能让不同浏览器以相同的方式解析和展示格式错误的文档。这个版本的HTML增加了许多重要内容,比如内建的拖动支持以及音像元素。本章我们将讨论HTML5新增的特性及相关的JavaScript API。
跨越HTML基础
由Tim Berners-Lee发明的HTML(超文本标记语言)从1990年至今已有相当长一段历史了。来自HTML5Rocks slides (http://slides.html5rocks.com/#slide3) 的图1-1简要地展示了HTML的发展历程。
虽然所有的进步对推动标准前进都至关重要,我们最为感兴趣的是1996年产生的JavaScript和2005年产生的AJAx。这些新特性使得网页从一个表示静态单向数据的媒体(如报纸和书)转变为一个允许双向交流的媒体。
JavaScript
JavaScript(前身为LiveScript,现在也被称为ECMAScript)由网景通信公司开发的浏览器脚本语言发展而来。它是一种基于原型的既像是面向对象又像是面向函数的弱类型的脚本语言。尽管名叫JavaScript,其更相似于C语言,虽然它也继承了Java的一些东西。
作为太阳计算机系统公司(现在是甲骨文公司)和网景公司之间关于推广脚本语言和Java Applet技术的协议的一部分,该语言被重命名为JavaScript。 JavaScript被广泛用来编写客户端网页脚本,而与此同时,微软发布了和其并立的脚本语言,名叫Jscript,因为太阳公司已将“JavaScript”这个名称注册成为商标。Jscript语言相对于JavaScript作了一些修改并添加了一些新内容。
AJAX
AJAX(异步的JavaScript和XML)重新激起了人们对JavaScript编程的兴趣。曾经一度被认为是业余人士和脚本小子的AJAX已经帮助开发者解决了复杂的问题。
AJAX依靠的中心点是微软在1990年发明的XMLHttpRequest对象。XMLHttpRequest允许一个网站连接到远程服务器获取结构化的数据。与建立一系列静态页面不同,XMLHttpRequest能使开发者创建高度动态的应用程序。Gmail、Twitter和Facebook都是这种应用的例子。
我们正处于JavaScript的另一个复兴时期当中,主要的浏览器生产者都在将他们的JavaScript引擎的性能作为比较的指标。JavaScript作为一种主要的编程语言已经渗透到服务器端web组件,比如Node.js,以及移动应用框架WebOS和PhoneGap。
<script type="text/javascript"></script>
分享到:
相关推荐
用于学习 HTML5 游戏编程的代码示例、演示和附加内容
HTML5 移动游戏开发高级编程,Pascal Rettig著,高清PDF带书签。仅供学习参考!
并且每一个例子都比上一个例子涉及的知识更深入 读者可以按照顺序渐进学习 ">本书全面介绍了游戏编程的初级入门知识 包括数据结构 算法 文件打包以及C++ 并详细介绍了一些在游戏策划中所需要的知识 另外 作为本书的...
是我游戏编程入门专栏(http://blog.csdn.net/column/details/16156.html)里第2~7篇博文的源代码。放出来,方便大家调试学习。开发环境:C++ Win7 VC6++
HTML5射箭小游戏源码对学习canvas编程很有好处,很好的射箭游戏源码,很好玩
当下流行的html5技术教程,教程由浅入深,适合每个想学习h5的编程者
HTML5 Canvas塔防游戏源码下载 说明 这不是我写的程序 内部源码解释非常详细 可以用来学习html5 canvas编程
下载后双击直接就能打开看到效果,使用Editplus就能打开源码,非常适合学习。
本源码包是采用HTML5技术实现超级玛丽小游戏的各个环节的源代码,一共包括了8个步骤,...因此本游戏更适合想学习如何使用HTML5编写一些小游戏的朋友们参考,绝对的游戏编程实战资料,相信对你学习HTML5游戏开发有帮助。
对学习canvas编程很有好处,很好的射箭游戏源码,很好玩
一个web网页游戏,用HTML写的,css样式、JavaScript也在里面,会动,有特效,学习前端的朋友可以试着下载来看看,有些地方是可以借鉴的,挺不错的
一款HTML5键盘操作的小游戏,监听键盘的原理所写的小游戏,里面包括有一个技术文档,文档里附有代码和详细的实现过程,游戏画面参考截图,重点是代码部分的学习,对HTML5编程有提升作用。
html5游戏开发的五个最佳实践.docx
html5 游戏 飞机大战,javascript 面向对象编程,分享给大家学习
本源码包是采用HTML5技术实现超级玛丽小游戏的各个环节的源代码,一共包括了8个步骤,...因此本游戏更适合想学习如何使用HTML5编写一些小游戏的朋友们参考,绝对的游戏编程实战资料,相信对你学习HTML5游戏开发有帮助。
制作很漂亮的一款HTML5 CSS3网页游戏,编辑暂时没有玩过,还配有音乐,很酷很刺激,想研究HTML5技术的朋友,您可不要错过这款网页游戏哦,虽然是游戏,但却考验了作者很综合的HTML5编程水平. 本游戏仅供学习,游戏...
吃豆游戏可以说是我们80,90后共同的回忆录,小时候常常在学习机上玩,所以也就有了强烈的欲望去写。为了写这个游戏,看了很多吃豆人游戏的相关信息,包括游戏规则,历史,其它相关游戏设计。又去了各个小游戏平台玩...
html5编写的切水果游戏源代码,内容详实,是学习游戏编程的好例子。
BorlandDelphi5中文版 控件控件大全: DBISAM 3.07 SkinForm 界面控件 FlatStyle 文件备份 BackFile XP菜单 XPMenu DosMove RainXP XP Bar Menu 窗口停泊组件 RxLib2.75 nBdeDBF AVL平衡树控件包 常用数据结构控件...