xxxxxxxxxx
87
// GRID
let label = "Letter P by RICHARD OO";
const g = 100; // cell width
const cellnum = 7; // numbers of cells per row and column
// BASIC
let akira;
let cg;
// SOURCE
let sx;
let sy;
let sw;
let sh;
// DESTINATION
let dx;
let dy;
let dw;
let dh;
function preload() {
akira = loadFont("Akira Expanded Demo.otf");
}
function setup() {
createCanvas(800, 800);
cg = createGraphics(800, 700);
cg.textFont(akira);
cg.fill('#cdff00');
frameRate(120);
}
function draw() {
background('#b6b7b9');
// grid();
cg.push();
cg.translate(width / 2, height / 2);
cg.textSize(140);
cg.textAlign(CENTER, CENTER);
cg.text("ppp", -50, -300);
cg.text("p",300, -200);
cg.text("p",300, -100);
cg.text("pp", 0, 0);
cg.text("p",-200, 100);
cg.text("p",-200, 200);
cg.text("p",-200, 300);
cg.text("p",-200,-200);
cg.text("p",-200,-100);
cg.pop();
for (let x = 0; x < cellnum; x++) {
for (let y = 0; y < cellnum; y++) {
let wave = int(sin((frameCount + x * y) * 0.9) * 120);
// SOURCE
sx = x * g + wave;
sy = y * g;
sw = g;
sh = 100;
// DESTINATION
dx = x * 90;
dy = y * 100;
dw = 60;
dh = g;
copy(cg, sx, sy, sw, sh, dx, dy, dw, dh);
}
}
}
function keyPressed() {
if (key === "s") {
if(this._renderer.elt.svg !== undefined) {
saveSVG(label + ".svg");
} else {
saveCanvas(label + ".png");
}
}
}