流れ星

クラスとArrayListを使ったシンプルなサンプルです。一定周期で流れ星がみられます。透明度を変化させながら、少しずつスピードを速くしているだけです。

Java

class Star {
  PVector pos, move;
  float alpha;
  Star(){
    pos = new PVector(random(800), random(450));
    move = new PVector(random(-5, 5), random(-5, 5));
  }
  void paint(){
    move.mult(1.05);
    pos.add(move);
    alpha += 5;
    fill(255, 255, 0, alpha);
    ellipse(pos.x, pos.y, 10, 10);
  }
}

ArrayList<Star> stars = new ArrayList<Star>(); 
PImage back;

void setup(){
  size(800, 450);
  back = loadImage("night_sky.jpg");  
}

void draw(){
  image(back, 0, 0);
  if (frameCount % 50 == 0) {
    stars.add(new Star());
  }
  for(Star s : stars){
    s.paint();
  }
}

画面の外に出てしまった流れ星をリストから削除するコードを追加してみてください。