I did right now. It is hidden and blured so if you don’t want to see it anymore just don’t click. Btw I just made it so I didn’t add colors
Code
ArrayList<star> stars = new ArrayList<star>();
ArrayList<particle> particles = new ArrayList<particle>();
float globalG = 0.1;
void setup() {
size(600,600);
}
void draw() {
background(0);
for(int i = 0; i < stars.size(); i++) {
stars.get(i).move();
stars.get(i).display();
//checking for stars to delete
if(stars.get(i).x > width*1.5 || stars.get(i).y > height*1.5) {
stars.remove(i);
}
}
for(int i = 0; i < particles.size(); i++) {
particles.get(i).move();
particles.get(i).display();
//deleting particels
if(particles.get(i).age > particles.get(i).maxAge) {
particles.remove(i);
}
}
if(random(100) > 95) {
addStar(random(width),random(height),random(3,5),random(3,5));
}
}
void mousePressed() {
addStar(mouseX,mouseY,5,5);
}
void addStar(float x, float y, float xs, float ys) {
stars.add(new star(x,y,xs,ys));
}
class star {
float xs,ys, x,y, r = 10;
star(float x_, float y_, float xs_, float ys_) {
x = x_;
y = y_;
xs = xs_;
ys = ys_;
}
void display() {
circle(x,y,r*2);
}
void move() {
x += xs;
y += ys;
float rep = random(2,10);
for(int i = 0; i < rep; i++) {
float dir = random(TWO_PI);
addParticle(x,y,cos(dir)*2,sin(dir)*2,0,20);
}
}
}
class particle {
float x,y,xs,ys,age,maxAge;
int id;
particle(float x_, float y_, float xs_, float ys_, int startAge_, int maxAge_) {
x = x_;
y = y_;
xs = xs_;
ys = ys_;
age = startAge_;
maxAge = maxAge_;
}
void display() {
circle(x,y,5);
}
void move() {
ys+=globalG;
x += xs;
y += ys;
age++;
}
}
void addParticle(float x, float y, float xs, float ys, int startAge, int maxAge) {
particles.add(new particle(x,y,xs,ys,startAge,maxAge));
}
It isn’t asthetic yet since that wasn’t my priority
EDIT: I made it with colors and looks really good! Check out my megathread to see it.