前言本系列虽然是基础教程,但相对于动画/游戏领域来说,属于前端领域的中级课程。不适合前端初学者或者萌新。在阅读之前,请确保你已经非常熟悉前端三大组件(JavaScript+CSS+HTML)的基础知识,并且具备高中水平的数理知识。demo使用ES6编写,遵循Airbnb规范,不依赖第三方框架或库,请在现代浏览器中运行。大部分例子都来自《Foundation HTML5 Animation with JavaScript》,感谢本书作者的辛勤劳动和启发。本教程也可以看作是本书的精(tian)简(you)优化(jia)(cu)版。既是我个人的读书笔记,也是经验总结,方便工作繁忙没有时间阅读的人。本人能力有限,欢迎大家一起讨论,批评指正。什么是动画/游戏【科普】动画是指以一定的速度(比如16帧/秒)连续播放多帧静止画面的作品,肉眼会误认为画面在运动由于视觉残像的错觉。为了得到动图,每张图片之间都会有细微的变化。制作图片最常见的方法是在纸上或赛璐珞片上手绘,其他方法还有使用粘土、模型、纸偶、沙画等。采用H5技术制作动画的原理与传统动画相同动画片。它利用了“视觉暂留”现象。计算机通过一定的运算规则得到一张图片(像素数据),然后以一定的速度连续播放,形成动画。但也有一些不同。传统动画侧重于绘画技法的表现,即每幅画面都很美,而电脑动画则更关注如何建立计算规则,这也是数学和物理知识的应用。在计算机领域,动画和游戏的界限并不明确。它们之间的区别在于是否有交互性。如果玩家有一定的操作改变动画,再加上一些游戏规则,就可以称之为游戏。[PS]对了,经常有人问为什么电脑玩游戏卡死,看电影不卡?因为所谓的数字版电影,不管是3D动画还是2D动画,都是经过渲染的画面,即数据是一帧画面,电脑只需要改变画面就可以了播放它们。但是游戏的画面是实时计算的。如果电脑性能不好,也就是无法在下一帧完成渲染,画面自然会卡顿。在PC和主机性能低下的时代,预渲染部分游戏画面并放入游戏中也是提升性能的常用做法。H5相关技术概述Canvas【科普】