forked from andrewjkramer/talent.tampa.dev
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmatrix.js
More file actions
78 lines (57 loc) · 1.71 KB
/
matrix.js
File metadata and controls
78 lines (57 loc) · 1.71 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
var canvas = document.getElementById( 'canvas' ),
ctx = canvas.getContext( '2d' ),
canvas2 = document.getElementById( 'canvas2' ),
ctx2 = canvas2.getContext( '2d' ),
// full screen dimensions
cw = window.innerWidth,
ch = window.innerHeight,
charArr = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'],
maxCharCount = 100,
fallingCharArr = [],
fontSize = 12,
maxColums = cw/(fontSize);
canvas.width = canvas2.width = cw;
canvas.height = canvas2.height = ch;
function randomInt( min, max ) {
return Math.floor(Math.random() * ( max - min ) + min);
}
function randomFloat( min, max ) {
return Math.random() * ( max - min ) + min;
}
function Point(x,y)
{
this.x = x;
this.y = y;
}
Point.prototype.draw = function(ctx){
this.value = charArr[randomInt(0,charArr.length-1)].toUpperCase();
this.speed = randomFloat(1,5);
ctx2.fillStyle = "rgba(255,255,255,1)";
ctx2.font = fontSize+"px san-serif";
ctx2.fillText(this.value,this.x,this.y);
ctx.fillStyle = "#ec4237";
ctx.font = fontSize+"px san-serif";
ctx.fillText(this.value,this.x,this.y);
this.y += this.speed;
if(this.y > ch)
{
this.y = randomFloat(-100,0);
this.speed = randomFloat(2,5);
}
}
for(var i = 0; i < maxColums ; i++) {
fallingCharArr.push(new Point(i*fontSize,randomFloat(-500,0)));
}
var update = function()
{
ctx.fillStyle = "rgba(0,0,0,0.05)";
ctx.fillRect(0,0,cw,ch);
ctx2.clearRect(0,0,cw,ch);
var i = fallingCharArr.length;
while (i--) {
fallingCharArr[i].draw(ctx);
var v = fallingCharArr[i];
}
requestAnimationFrame(update);
}
update();