我使用 HTML5 Canvas 已经两年多了,今天我想推荐两本关于这个主题的书。
要介绍的第一本书是我学习Canvas开发的入门书——《HTML5 Canvas核心技术:图形、动画和游戏开发》。本书作者大卫·吉尔里,中文译者艾飞翔,机械工业出版社出版。
相信这本书音乐音效,不仅是我,很多学习Html5 Canvas开发的同学都把它当做办公桌必备。本书是HTML5 Canvas领域的标杆,也是迄今为止该领域最全面、最深入的著作之一。不仅全面讲解了canvas元素的API,以及如何使用Canvas进行图形绘制、动画制作、物理效果模拟、碰撞检测、游戏开发、移动应用开发,还包含大量示例,分别是可操作性强。在我们开发斧头demo的时候,从基础的绘图、图片、视频、音频处理,到动画、文字处理,所有核心开发内容都可以从本书中得到知识和启发。
《HTML5 Canvas核心技术:图形、动画与游戏开发》共11章。第 1 章介绍了 canvas 元素以及如何在 Web 应用程序中使用它;第 2 章深入探讨如何使用 Canvas API 进行绘图;第 3 章告诉读者如何在 Canvas 中绘制和操作文本;第 4 章专门介绍图像、图像处理和视频处理;第5章介绍了如何实现流畅的动画效果;第 6 章解释了如何在 JavaScript 中实现精灵;第 7 章展示了如何在动画中模拟物理;第 8 章介绍了用于执行碰撞检测的技术;第 9 章从一个简单但高效的游戏引擎开始,它提供了游戏制作所需的所有支持;第 10 章讨论了实现自定义控件的一般方法;第 11 章专门介绍如何实现基于 Canvas 的移动应用程序。
上一本书已成经典,下一本书即将成经典。也是 Daniel Geary 的代表作——《HTML5 2D 游戏编程核心技术》。
本书由机械工业出版社出版。你还不能在网上或实体书店买到这本书,但我已经提前拿到了。并仔细阅读了几天。
相对于上一本书,本书可以作为Html5 Canvas编程的进阶书籍阅读,也可以作为HTML5游戏编程的入门书籍阅读很久。
大师与常人的区别,不仅在于能力的高低,更在于能够把知识讲清楚,真正的讲道、传授、解惑。这本书做到了。
本书适用于希望使用 HTML5 进行 2D 游戏开发并具有一定 JavaScript 编程经验的开发人员。在本书中,作者从零开始全面阐述了一款复杂的横版平台电子游戏的开发过程,并将电子游戏命名为“蜗牛诱饵”。在开发过程中,我没有使用任何第三方图形框架或游戏框架,因此读者将从本书中学习以编程方式实现从流畅动画、精灵爆炸、开发者后门、游戏难度设计等所有内容。如果读者正在使用其中一种游戏框架开发游戏,那么本书对于帮助读者理解游戏框架的内部工作原理也将有很大帮助。
Snail Bait 游戏仅实现了一个用于教育目的的关卡,但它具有街机风格游戏的所有特征。 Snail Bait 游戏在滚动背景上同时操作多个动画对象,即精灵对象,并在播放游戏背景音乐的同时添加各种音频效果。 Sprite 对象具有多种行为,包括但不限于奔跑、跳跃、飞行、闪烁、弹跳、前后移动、爆炸、碰撞、降落平台、从游戏屏幕底部坠落等。
此外,蜗牛诱饵游戏还实现了许多特殊功能。例如,可以减慢或加快游戏整体速度的时间系统;游戏加载过程的动画;游戏主角死亡时震动游戏画面的特效;模拟烟雾和燃烧等粒子系统。当游戏窗口失去焦点时,Snail Bait 游戏暂停,当游戏窗口重新获得焦点时,Snail Bait 游戏以倒计时动画开始,让玩家有时间重新控制游戏。
虽然没有使用游戏框架或图形框架,但蜗牛诱饵游戏使用Node.js和socket.io技术,将一些游戏内指标数据发送到服务器,存储和检索高分,以及高分等功能显示在游戏窗口的顶部。 Snail Bait 游戏在游戏运行缓慢时也会显示警告信息。并且当按下“Ctrl+D”组合键启动游戏时,蜗牛诱饵游戏会启动开发者后门程序,给予操作者特殊权限canvas游戏开发,比如修改时间线的流向,或者显示精灵对象碰撞检测矩形和其他函数等。
当 Snail Bait 游戏检测到它正在移动设备上运行时,它将通过调用触摸事件处理程序并调整游戏窗口的大小以适应移动设备的屏幕尺寸和控件来重新配置自己。
游戏编程一直是我练习编程技能的最佳方式。因为即使是小游戏,也要考虑程序的架构canvas游戏开发,考虑分层和解耦,考虑消息传递,考虑绘图,考虑动画,考虑网络,考虑性能,考虑交互,多媒体处理,多线程等等。游戏编程往往要求我们在某个方面做到极致,对程序员的培养是相当可观的。从一个小游戏的准备中,我们可以系统地学习到很多知识和技能。
以上是我强烈推荐这本书的原因。这本书不难,只要用心,就能看懂,作者还配有视频教程。主要是作者写的够好!