【Processing】Shooting Star 3

Can someone help me and can explan me how to do something like this?
Thanks :slight_smile:

first you need an array of objects for the shooting stars. For every star you need an array of particles with age. Every frame increase the age of particles by one and whenever it reaches maxAge the particle gets deleted

Can you write me a code pls :slight_smile:

No to that from me.

You can write your own code. It is much more rewarding!

Explore and work through the resources (tutorials, examples, references, etc.) here:

And when you need help ask.

:)

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.

Thank you very much <3333333

1 Like

Hello,

These are not prominently posted (should be!) so I am sharing with you.

Please read these:

:)