映画『マトリックス』のオープニングで使われている、コンピューターの画面上を緑の文字が流れる映像。通称「マトリックス・コード」を、ウェブページの背景エフェクトとして canvas で実装したサンプルを紹介します。
もとはネットサーフィン中に見つけたものですが、改変して次のようなJavaScriptのコードを書いています。
<body> <canvas id="c"></canvas> <script> var s = window.screen; var c = document.getElementById("c"); var ctx = c.getContext("2d"); var width = c.width = s.width; var height = c.height = s.height; var matrix = "ABCDEFGHIJKLMNOPQRSTUVWXYZ123456789#$%^&*()*&^%"; matrix = matrix.split(""); var font_size = 10; var columns = c.width / font_size; var drops = []; for(var x = 0; x < columns; x++) drops[x] = 1; function draw() { ctx.fillStyle = "rgba(0, 0, 0, 0.04)"; ctx.fillRect(0, 0, c.width, c.height); ctx.fillStyle = "#0F0"; ctx.font = font_size + "px arial"; for( var i = 0; i < drops.length; i++ ) { var text = matrix[ Math.floor( Math.random() * matrix.length ) ]; ctx.fillText(text, i * font_size, drops[i] * font_size); if( drops[i] * font_size > c.height && Math.random() > 0.975 ) drops[i] = 0; drops[i]++; } } setInterval( draw, 35 ); </script> </body>
上記のコードを実際に動かすと次のようになります。
DEMO : Canvas Matrix Background
フルスクリーンで見ると超カッコいいですよ!