-
Notifications
You must be signed in to change notification settings - Fork 0
/
typography.js
58 lines (52 loc) · 1.47 KB
/
typography.js
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
let typoSketch = p =>{
var pg;
var colorPicker,colorPicker2,speedSlider;
p.setup = function() {
p.createCanvas(400,400);
pg = p.createGraphics(400,400,p.P2D);
colorPicker = p.createColorPicker('#E4DDE3');
speedSlider = p.createSlider(0.0,1.0,0.00,0.01);
colorPicker2 = p.createColorPicker('#000000');
// frameRate(30);
p.textAlign(p.CENTER, p.CENTER);
}
p.draw = function() {
p.background(colorPicker.color());
// pg.background('#EA0707');
pg.fill(colorPicker2.color()).textSize(150);
pg.push();
pg.textFont('Helvetica');
pg.text('a', p.width/2, (p.height/2) - 100);
pg.text('b', p.width/2, (p.height/2) + 50);
pg.text('c', p.width/2, (p.height/2) + 150);
pg.pop();
var tilesX = 8;
var tilesY = 5;
var tileW = p.width/tilesX;
var tileH = p.height/tilesY;
var speed = speedSlider.value();
for(y=0;y< tilesY;y++){
for(x=0;x<tilesX;x++){
// var wave = cos((frameCount)+x*y*0.05)*150;
var wave = p.sin((p.frameCount + ( x*y )) * speed) * 200;
//source
var sx = x * tileW + wave;
var sy = y * tileH;
var sw = tileW
var sh = tileH;
//destination
var dx = x * tileW ;
var dy = y * tileH;
var dw = tileW
var dh = tileH;
p.copy(pg,sx,sy,sw,sh,dx,dy,dw,dh);
}
}
}
// p.windowResized = function(){
// p.resizeCanvas(p.windowWidth/2, p.windowHeight/2);
// p.background(colorPicker.color());
// pg.reset();
// }
}
var draw1 = new p5(typoSketch, window.document.getElementById('drawing1'));