JS实现《黑客帝国》字符雨飘落特效

此段代码通过Canvas元素实现了电影《黑客帝国》中进入Matrix的终端界面的一个动画效果。
兼容H5和各种版本的浏览器。可以在这里看到线上效果, 点我,点我!
在浏览器中打开,配上F11全屏效果,效果棒棒的!

在代码的起始部分,使用了一个兼容低版本浏览器的requestAnimationFrame的方法。也能提高浏览器的性能。
代码里有5个技巧,
1、var clearColor = ‘rgba(0, 0, 0, .1)’;
ctx.fillStyle = clearColor;
ctx.fillRect(0, 0, w, h);
此段代码在每次循环的时候绘制了一个0.1透明度的蒙层,一次次的覆盖,在字符下落的时候,留下一段阴影效果。
2、context.fillText(text, i * font_size, drops[i] * font_size);
通过此段代码在一次循环中绘制出整屏的字符,通过i的增加变更列,通过drops[i],变更每列的行。通过drops[i]最初形成是依据高度随机的,第二屏之后都是从0起始。
3、ctx.translate(w, 0);
ctx.scale(-1, 1);
通过翻转画布,造成字符翻转的效果,给人一种神秘感。原电影中的日文都是翻转后的。
4、Math.random() > 0.95;
可以使每列字符消失的时间随机,这样重新生成的时间也随机了,形成字符参差不齐的效果。

5、words字符串可以依据需要修改,全是日文平假名感觉更真实。




你可能感兴趣的:(JS+CSS+html)