xxxxxxxxxx
var squares;
var rotationSpeed = 1;
var numSquaresPerLine = 8;
initOPC();
//var chanceToRotate = 0.0008;
//var pauseAnimation;
function setup() {
createCanvas(700, 700);
pauseAnimation = false;
var squareLength = width/numSquaresPerLine;
squares = [];
for (let i=0; i<numSquaresPerLine; i++){
for (let j=0; j<numSquaresPerLine; j++){
squares.push(new Square(
squareLength*(i+0.5), squareLength*(j+0.5), // center
squareLength, // length
Math.floor(random(numPatterns)), random([0,1,2,3]))); // type and rotation
}
}
}
function draw() {
if (pauseAnimation)
return;
background(0);
for (var square of squares){
square.update();
square.draw();
}
}
// ------------------------- interface -------------------------
function mousePressed(){
for (var square of squares){
if (square.mousePressed())
return; // the square was pressed, don't continue for other squares.
}
}
function keyPressed(){
if (key=='p'){
pauseAnimation = !pauseAnimation;
}
}
function initOPC(){
OPC.slider('chanceToRotate', 0.1, 0, 1, 0.01);
OPC.toggle('pauseAnimation', false);
OPC.button('savePicture', 'Save picture');
}
function buttonPressed(variableName, value) {
if (variableName === 'savePicture') {
save('truchet.jpg');
}
}