1
0
mirror of https://gitlab.com/MisterBiggs/Resume.git synced 2025-06-16 01:16:39 +00:00
Resume/p5/sketch.js
2023-10-29 22:49:11 -06:00

65 lines
1.8 KiB
JavaScript

// Gravitational Attraction
// The Nature of Code
// The Coding Train / Daniel Shiffman
// https://youtu.be/EpgB3cNhKPM
// https://thecodingtrain.com/learning/nature-of-code/2.5-gravitational-attraction.html
// https://editor.p5js.org/codingtrain/sketches/MkLraatd
let movers = [];
let attractor;
var canvas;
function windowResized() {
resizeCanvas(windowWidth, windowHeight);
}
function setup() {
canvas = createCanvas(windowWidth, windowHeight);
canvas.position(0, 0);
canvas.style("z-index", "-1");
const params = new URLSearchParams(window.location.search);
if (params.has("gay")) {
console.log('The "gay" parameter exists in the URL.');
movers[0] = new Mover(0, 0, 5, -5, 50);
movers[0].col = color("#D12229");
movers[1] = new Mover(width / 5, height / 5, -5, -5, 50);
movers[1].col = color("#F68A1E");
movers[2] = new Mover((2 * width) / 5, (2 * height) / 5, -5, -5, 50);
movers[2].col = color("#FDE01A");
movers[3] = new Mover((3 * width) / 5, (3 * height) / 5, -5, -5, 50);
movers[3].col = color("#007940");
movers[4] = new Mover((4 * width) / 5, (4 * height) / 5, -5, -5, 50);
movers[4].col = color("#24408E");
movers[5] = new Mover(width, height, -5, -5, 50);
movers[5].col = color("#732982");
} else {
movers[0] = new Mover(10, 10, 5, -5, 50);
movers[0].col = color("red");
movers[1] = new Mover(width / 2, height / 2, -5, -5, 60);
movers[1].col = color("white");
movers[2] = new Mover(width - 10, height - 10, -5, -5, 40);
movers[2].col = color("blue");
}
background(0);
}
function draw() {
background(0, 75);
for (let mover of movers) {
mover.mouse_mass();
for (let other of movers) {
if (mover !== other) {
mover.attract(other);
}
}
}
for (let mover of movers) {
mover.update();
mover.edges();
mover.show();
}
}