xxxxxxxxxx
67
var particles = [];
var path;
function setup() {
wid = floor(windowWidth);
hit = floor(windowHeight);
createCanvas(wid, hit);
var start = createVector(0,random(hit));
var end = createVector(wid,random(hit))
path = new Path(100);
path.addPoint(0,random(hit));
path.addPoint(wid/3,random(hit));
path.addPoint(2*wid/3,random(hit));
path.addPoint(wid,random(hit));
cg = createGraphics(wid,hit);
path.display();
}
//Add particles
function mouseClicked(){
append(particles, new Particle(path.get(0).x,path.get(0).y));
}
function draw() {
background(255);
image(cg,0,0);
strokeWeight(1);
for(i=0;i<particles.length;i++){
particle = particles[i];
var distance = particle.predict(path);
if (distance > path.radius/2){
particle.findTarget(particle.normalPoint);
particle.behaviors();
stroke(255,0,0);
}else{
particle.behaviors();
stroke(0);
}
strokeWeight(10);
point(particle.normalPoint);
stroke(0);
strokeWeight(1);
//destroy particle when off screen
//if(particle.pos.x < 0 || particle.pos.x > wid || particle.pos.y < 0 || particle.pos.y > hit){
// particles.splice(particle,0);
//}
particle.update();
particle.show();
}
//Stats
let fps = frameRate();
fill(0);
stroke(0);
text("FPS: " + fps.toFixed(2) + " | Particles: " + particles.length, 10, height - 20);
}