Я новичок в обработке и хочу, чтобы моя система частиц следовала за моей мышью. На данный момент он тянется за мышью (что, я думаю, нормально), но он также рисует его дважды. Вот что у меня есть: у меня также есть класс «звезда», который я не включил, который dr aws простая звезда, которая следует за мышью.
ParticleSystem ps;
void setup() {
ps = new ParticleSystem(new PVector(mouseX,mouseY));
size(1000,1000);
frameRate(30);
noStroke();
}
void draw(){
background(30);
ps.followMouse();
ps.addParticle();
ps.run();
}
class ParticleSystem {
ArrayList<Particle> particles = new ArrayList<Particle>();
PVector origin;
ParticleSystem(PVector position) {
origin = position.copy();
}
void addParticle() {
particles.add(new Particle(origin));
}
void run() {
for (int i = particles.size()-1; i >= 0; i--)
particles.get(i).run();
}
void followMouse() {
PVector mouse = new PVector(mouseX, mouseY);
origin = mouse.sub(origin);
}
}
class Particle {
PVector pos, velocity = new PVector(random(-1, 1), random(-2, 0)), acceleration = new PVector(0, 0.05);
Particle(PVector l) {
pos = l.copy();
}
void run() {
update();
display();
}
void update() {
velocity.add(acceleration);
pos.add(velocity);
}
void display() {
noStroke();
fill(random(255),random(255), random(255));
ellipse(pos.x,pos.y, 8, 8);
}
}