見出し画像

Processingでclassを理解したい

1ヶ月前くらいからProcessingをやり始めた。

田所淳さんの『Processing クリエイティブ・コーディング入門−コードが生み出す創造表現』を中心に勉強している。

最近は、classをやっているが、なかなか理解できないし扱えない。
けど、ちょっとずつだがわかるようになってきた。ほんのちょっとだけ。

まだまだ道は険しい。

下記は、今日作ったもののコード。
水槽の中に円がたくさん泳いでいるような感じのもの。
ほぼ本のコピーですが、、

int NUM=1000;
Particle[] myParticle=new Particle[NUM];

void setup() {
  size(800, 600);
  colorMode(HSB, 360, 100, 100, 100);
  blendMode(BLEND);

  for (int i=0; i<NUM; i++) {
    myParticle[i]=new Particle(random(10, 80));
  }
}

void draw() {
  background(200, 100, 100, 100);

  for (int i=0; i<NUM; i++) {
    myParticle[i].draw();
  }
}

class Particle {
  PVector loc;
  PVector vel;
  float diameter;
  color col;

  Particle(float _diameter) {
    diameter=_diameter;
    loc=new PVector(random(width), random(height));
    vel=new PVector(random(-4, 4), random(-4, 4));
    col=color(random(360), 100, 100, random(80));
  }

  void draw() {
    fill(col);
    noStroke();
    ellipse(loc.x, loc.y, diameter, diameter);
    loc.add(vel);

    if (loc.x<0||loc.x>width) {
      vel.x=vel.x*-1;
    }

    if (loc.y<0||loc.y>height) {
      vel.y=vel.y*-1;
    }
  }
}

void keyPressed() {
  if(key=='s'){
  saveFrame("particle001.png");
  }
}

この記事が気に入ったらサポートをしてみませんか?