クラス宣言
class Circle{ float x,y; float radius; color lineCol,fillCol; float alpha; Circle(){ x = random(width); y = random(height); radius = random(100) + 10; lineCol = color(random(255),random(255),random(255)); fillCol = color(random(255),random(255),random(255)); alpha = random(255); } void drawMe(){ noStroke(); fill(fillCol,alpha); ellipse(x,y,radius * 2,radius * 2); stroke(lineCol,150); noFill(); ellipse(x,y,10,10); } }
返り値なしの関数はコンストラクタとして解釈されるみたいです。drawMeはvoidを指定してあるので、関数として登録されます。colorという型もあるようです。色を入れるための型だと思います。
インスタンス生成
void drawCircles(){ for(int i = 0;i < _num;i++){ Circle thisCirc = new Circle(); thisCirc.drawMe(); } }
インスタンスを作るためにnewするというおなじみの流れです。このあたりは共通している言語が多いので、プログラミング経験者の方はとっつきやすいと思います。
マウスを離したら実行
void mouseReleased(){
drawCircles();
}
mouseReleasedはProcessingに用意されている関数です。
円を動かす
draw関数の中で座標を動かすと、円が動くようになります。コードは省略します。