processing做遨游星空效果

Posted tellw

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了processing做遨游星空效果相关的知识,希望对你有一定的参考价值。

sketch_200718a文件

Star[] stars = new Star[600];
float speed;

void setup(){
  size(400, 400);
  for(int i = 0; i < stars.length; i++){
    stars[i] = new Star();
  }
}

void draw(){
  speed = map(mouseX, 0, width, 0, 20);
  background(0);
  translate(width / 2, height / 2);
  for(int i = 0; i < stars.length; i++){
    stars[i].update();
    stars[i].show();
  }
}

Star文件

class Star{
  float x;
  float y;
  float z;
  float pz;
  
  Star(){
    x = random(-width, width);
    y = random(-height, height);
    z = random(width);
    pz = z;
  }
  
  void update(){
    z = z - speed;
    if(z < 1){
      x = random(-width, width);
      y = random(-height, height);
      z = width;
      pz = z;
    }
  }
  
  void show(){
    fill(255);
    noStroke();
    float sx = map(x / z, 0, 1, 0, width);
    float sy = map(y / z, 0, 1, 0, height);
    float r = map(z, 0, width, 16, 0);
    float px = map(x / pz, 0, 1, 0, width);
    float py = map(y / pz, 0, 1, 0, height);
    pz = z;
    ellipse(sx, sy, r, r);
    stroke(255);
    line(px, py, sx, sy);
  }
}

效果图:
技术图片


以上是关于processing做遨游星空效果的主要内容,如果未能解决你的问题,请参考以下文章

HTML 星空动图背景(canvas+JS)

HTML 星空动图背景(canvas+JS)

canvas - 炫酷的3D星空

RuntimeError: An attempt has been made to start a new process before the current process has...(代码片段

WPF 实现星空效果

WPF星空效果