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");
}
}
この記事が気に入ったらサポートをしてみませんか?