前言
为什么要写这本书
并非计算机专业的我,却最终走上了编程之路,并写了这样一本书,为什么呢?其实一切都是因为和游戏结了缘。
小时候我非常喜欢玩游戏,为了玩游戏和小伙伴们干过不少调皮捣蛋的事情。初中为了得到自己的第一台游戏机,和父亲打赌,破天荒拿了全班第一名。当然有了游戏机的相伴,从那以后就再也没有拿过第一名了。因为数学上较有优势,所以读大学时选择的是数学专业,没有选读计算机让后来做开发的我多少感到有些遗憾。和其他人一样,大学是真正改变我人生的时期,第一次有了电脑,第一次从室友嘴里得知QQ为何物(这个大土包子),第一次接触了网游(还是大土包子),那时候非常痴迷于光荣公司的《三国志英杰传》和《三国志曹操传》,并且通过学习,试着制作了我人生中的第一款游戏《杨家将传奇》,在同类游戏中小有名气。如果你也喜欢玩《三国志曹操传》的MOD,也经历过2003年到2007年那段《三国志曹操传》MOD最鼎盛的时期,那么你也许会认识我,那时候我有个网名叫“回眸75度”。那时候制作的游戏因为不涉及编程,所以还不能叫做开发。大学毕业后,我开始思考自己未来的路,虽然没有任何编程基础,但是因大学时期游戏的制作,令我坚信游戏开发是我向往的职业。也是因为喜欢日本的游戏,最终来到了日本做软件开发,虽然并非全职的游戏开发者,但是我一直都在关注并学习着游戏的开发,不曾间断,一直至今。
我是一个喜欢不断学习新知识的人,所以当HTML5作为一个新技术出现的时候,我没有理由不去了解它。由于对JavaScript有一定的基础,所以我在学习HTML5的Canvas时,上手非常快。出于对ActionScript的喜爱,我一开始便试着在JavaScript中模仿ActionScript的API来做开发,并且在博客上发表了《用仿ActionScript的语法来编写HTML5》系列文章,这便是最初的lufylegend开源库件的构建过程。当我把自己研究的类库整合到一起后,发现它使用起来十分方便,使用它来开发游戏可以节约大量的开发时间,于是我将其分享到了网上供大家免费使用,希望可以给相关开发者提供便利。
我刚开始接触HTML5是在2011年,那时候正是HTML5炒得最火的时候,网上到处都是关于HTML5替代Flash的言论。我从来不认为Flash会因为HTML5而消失,但是我相信HTML5代表着互联网未来发展的方向。虽然HTML5并不像传言那样“一次编写,到处运行”,但是你只需要略加修改和调整就能让你的应用适用于另一个平台。
网页游戏有着不可替代的优势,而HTML5无疑是未来网页游戏的首选技术之一,特别是在移动领域HTML5是唯一的工具,至少现在它是你唯一的选择。虽然HTML5还很年轻,还有很多不成熟的地方,但是它正在不断地完善,相信它不会让我们等太久。所以学习这门新技术非常有必要。我非常希望能将自己的学习心得分享给大家,因此写了这本书,希望这本书能够将你带入HTML5的游戏世界里。
读者对象
本书主要适合于以下读者:
对HTML5开发感兴趣的人。本书对HTML5 Canvas进行了详细的介绍,想要学习HTML5开发的话绝对值得一看。
对游戏开发感兴趣的人。本书介绍了多个游戏实例的开发,在如何构建游戏方面对游戏开发人员来说有一定的借鉴作用。
Flash开发者。由于JavaScript和ActionScript具有一定的相似性,本书会模仿ActionScript的语法来进行游戏的构建和开发,如果你是一个Flash开发者,那么我相信本书会带你快速进入HTML5的世界。
目录
第1章 准备工作
1.1 HTML5介绍
1.2 Canvas简介
1.3 开发与运行环境的准备
1.4 开发工具的选择
1.5 测试与上传代码
1.6 JavaScript中的面向对象
1.7 小结
第2章 Canvas基本功能
2.1 绘制基本图形
2.2 绘制复杂图形
2.3 绘制文本
2.4 图片操作
2.5 小结
第3章 Canvas高级功能
3.1 变形
3.2 图形的渲染
3.3 自定义画板
3.4 小结