canvas 动画
动画的基本步骤
- 清空 canvas
除非接下来要画的内容会完全充满canvas
(例如背景图),否则你需要清空所有。最简单使用clearRect
方法。 - 保存 canvas 状态
如果你改变一些会改变 canvas 状态的设置,又要在每画一帧之时都是原始状态的话,需要先保存一下。 - 绘制动画图形 animated shapes
重绘动画帧 - 恢复 canvas 状态
如果已经保存了 canvas 的状态,可以先恢复它,然后重绘下一帧。
操作动画
setInterval(fun,delay)
延迟 delay 毫秒后执行函数setTimeout(func,delay)
间隔 delay 毫秒执行函数requestAnimationFrame(callback)
告诉浏览器你希望执行一个动画,并在重绘之前,请求浏览器执行一个特定的函数来更新动画。
1 | function init() { |
高级动画
有兴趣的时候来补充