Can someone help me and can explan me how to do something like this?
Thanks
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
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
Hello,
These are not prominently posted (should be!) so I am sharing with you.
Please read these:
-
Processing FAQ - Frequently asked questions
Includes:
https://discourse.processing.org/faq#homework - Guidelines - Asking Questions
- Guidelines - Answering Questions
- p5.js Community Statement
:)