xxxxxxxxxx
78
let symmetry = 6;
let angle = 360 / symmetry;
let saveButton;
let clearButton;
let slider;
let mouseAlreadyPressed = false;
let mx;
let my;
let doit = false;
let startT;
let xDirection = 1;
let yDirection = 1;
function setup() {
createCanvas(400, 400);
angleMode(DEGREES);
background(127);
saveButton = createButton('save');
saveButton.mousePressed(saveSnowflake);
clearButton = createButton('clear');
clearButton.mousePressed(clearCanvas);
startT=millis();
}
function saveSnowflake() {
save('snowflake.png');
}
function clearCanvas() {
background(127);
}
function draw() {
translate(width / 2, height / 2);
if (mouseX > 0 && mouseX < width && mouseY > 0 && mouseY < height) {
if (mouseIsPressed && !mouseAlreadyPressed) {
mx = mouseX - width/2;
my = mouseY - height/2;
mouseAlreadyPressed = true;
}
if (doit && mouseAlreadyPressed) {
for (let i = 0; i < symmetry; i++) {
rotate(angle);
line(mx, my, mx + 20, my + 20);
push();
scale(1, -1);
line(mx, my, mx + 20, my + 20);
pop();
}
if (mx >= width/2 || xDirection == 0) {
mx = mx - random(25)
} else {
mx = mx + random(25)
}
if (my >= height/2 || yDirection == 0) {
my = my - random(25)
} else {
my = my + random(25)
}
xDirection = round(random())
yDirection = round(random())
console.log(mx + " " + my)
doit = false
}
}
myTimer()
}
function myTimer() {
if (millis() > startT + 300) {
startT = millis()
doit = true;
}
}