関数
Processing における関数の作り方は以下のようになります。
戻り値のデータ型 関数名(引数){
ここに関数内の処理を書く
}
具体例を示します。
void setup(){
int x = tenTimes(3);
println( x );
int[] d = new int[]{ 72, 91, 83, 765 };
float y = average( d );
println( y );
exit();
}
int tenTimes( int a ){
int r = a * 10;
return r;
}
float average( int[] data ){
float sum = 0;
for( int i = 0; i < data.length; i++ ){
sum += data[ i ];
}
return sum / data.length;
}
tenTimes という関数は int型の値を受け取り、それを 10 倍にした値を返す関数です。average という関数は int型の配列を受け取り、配列内の数値の平均を返す関数です。値を返す関数の場合は、関数内で必ずreturn 文を使って戻り値を指定する必要があります。
戻り値の無い関数の場合、戻り値のデータ型として void を使います。
void setup(){
size( 600, 400 );
background( 245 );
colorMode( HSB, 100 );
frameRate( 30 );
}
void draw(){
stroke( color(random(100), 90, 90), 50 );
drawY( random(width), random(height), random(50) );
}
void drawY( float x, float y, float barlength ){
strokeWeight( 4 );
line( x, y, x, y+barlength );
line( x, y, x-barlength*0.7, y-barlength*0.7 );
line( x, y, x+barlength*0.7, y-barlength*0.7 );
}
drawY という関数はXY座標と長さを受け取り Y の形を描く関数です。値は何も返さない関数なので、戻り値の型は void とします。

実行結果
組み込み関数
ユーザが定義する関数以外に、Processing には数多くのあらかじめ定義された関数(組み込み関数)が存在します。line関数やellipse関数もそうですし、setup関数やdraw関数などもその例です。Processing の公式サイトに主な関数のリストがあるので、一通り目を通しておくと良いでしょう。http://processing.org/reference
コメント