diff options
Diffstat (limited to 'sketch.js')
-rw-r--r-- | sketch.js | 18 |
1 files changed, 14 insertions, 4 deletions
@@ -13,6 +13,11 @@ function setup() { function draw() { background(0); + stroke(255); + strokeWeight(4); + line(0, 0.75*hei, 0.25*wid, hei); + line(0.75*wid, hei, wid, 0.75*hei); + for(var i = ps.length - 1; i >= 0; i--) { ps[i].applyForce(gravity); ps[i].applyDrag(air_resistance); @@ -22,17 +27,22 @@ function draw() { strokeWeight(ps[i].mass); ps[i].show(); - if (ps[i].gone()) { - ps.splice(i, 1); + if (ps[i].online(0, 0.75*hei, 0.25*wid, hei)) { + ps[i].reflect(createVector(0.25*wid, 0.25*hei), 5); + } else if (ps[i].online(0.75*wid, hei, wid, 0.75*hei)) { + ps[i].reflect(createVector(0.25*wid, -0.25*hei), 5); } + + if (ps[i].pos.y >= hei) + ps.splice(i, 1); } if (mouseIsPressed) { var p = new Particle( - mouseX, mouseY, random(2, 8), + mouseX, mouseY, random(2, 10), color(random(0, 360), random(90, 100), random(50, 100)) ); - p.applyForce(createVector(random(-200, 200), random(-400, 0))); + p.applyForce(createVector(random(-250, 250), random(-500, 0))); ps.push(p); } } |