2012年10月14日日曜日

Processing の Setup()とDraw()の違い


Processing の Setup()とDraw()の違い

Processing スケッチでの Setup() と  Draw()の違いを理解します。
そして、フレームという考え方も習得してしまいましょう。



Processingスケッチで、初回に一度だけ命令を実行したい場合に使うのが、Setup()です。

void setup(){
  //一度だけ実行される命令を書きます

}

Arduinoのスケッチと同じなので、分かりやすいですね。
初期値の設定などに使うことが多いです。

これに対して、繰り返し実行したい命令を書く場合に使用するのが、Draw()です。

void draw(){
  //繰り返し実行される命令を書きます

}

Arduinoのスケッチでは、Loop()に相当します。
メインの処理内容を書くことになります。

ProcessingではDraw()内の命令を上から順に下まで1回だけ実行することを1フレームと呼びます。
規定値(デフォルト)では、1秒あたり、60フレームのスピードで実行します。
つまり、1フレームの実行時間は1/60秒です。

1秒あたり実行されるフレームの回数をフレームレートと呼びます。

もし、Draw()内の命令を実行するのに1/60秒以上かかる場合には、フレームレートは低下します。1/60秒以上かかったら、実行されないわけではありません。
フレームの間の待ち時間が無いだけです。
したがって、フレームレートの指定値(規定値では60)は、フレームの実行数の最大値と考えることができます。

もっと1秒あたり多くの回数で実行したい、または、もっと1秒あたり少ない回数で実行したい場合には、frameRate命令を使用して指定します。

frameRate命令を実行するには、setup()の中で指定するのが一般的です。


void setup(){
  //一度だけ実行される命令を書きます
  frameRate(30);
}

このように書くと、フレームレートは30となり、1秒間に30フレーム実行されます。

構文は frameRate(n); です。
n:フレームレート…1秒あたりのフレーム実行数

ArduinoスケッチのSetup()とLoop()と比較しながら理解すると、分かりやすいですね。

・Processingをはじめよう
・Processing アニメーション
・楽しく学ぶコンピュテーショナルデザイン




0 件のコメント:

コメントを投稿