2013-08-14_023153

在cssdeck看到了一段简洁有趣的效果,不敢私藏。

正文

出处:http://cssdeck.com/labs/the-matrix

预览地址:http://thecdn.sinaapp.com/page/demo/matrix-canvas/

首先是创建一个画布,比如使用下面简单的结构。

<canvas id="q"></canvas>

脚本代码

var s = window.screen;
var width = q.width = s.width;
var height = q.height = s.height;
var letters = Array(256).join(1).split('');

var draw = function () {
  q.getContext('2d').fillStyle='rgba(0,0,0,.05)';
  q.getContext('2d').fillRect(0,0,width,height);
  q.getContext('2d').fillStyle='#0F0';
  letters.map(function(y_pos, index){
    text = String.fromCharCode(3e4+Math.random()*33);
    x_pos = index * 10;
    q.getContext('2d').fillText(text, x_pos, y_pos);
    letters[index] = (y_pos > 758 + Math.random() * 1e4) ? 0 : y_pos + 10;
  });
};
setInterval(draw, 33);