2008後期
情報グラフィックス論U
担当 鳥海有紀
授業資料 情報グラフィックス論U
次へ(プログラムを書く4)

プログラムを書く3

アニメーション、イベント処理をするためのプログラム構成

これまでのプログラムは上から下へ順に処理を進める単純な構成であった。 アニメーションを行ったり、マウスやキーボードからのイベントを処理するためには、 機能を分けた構造にする必要がある。
次のプログラムはprocessingで使う構造化された最も基本的なプログラムである。


  void setup() 
  {
    size(200, 300);
    background(255);
  }

  void draw()
  {
    fill(0, 255, 255);
    rect(10, 10, 10, 10);
  }

上記のプログラム線分を描くプログラムであるが、大きく2つの部分に分かれている。
setup(): 初期化関数
ここではプログラムの最初に設定した方がよい項目を設定する。 たとえば、ウィンドウサイズ、背景色などはここで設定する。 setup関数はプログラムを実行すると最初に1度だけ実行される。
draw(): メインループ関数
draw関数には主となる処理を書き込む。たとえば描画に関することはここに書き込む。 draw関数はプログラムが終了するまで、繰り返し実行される関数である。 上のプログラムの場合は、描画するたびに同じ位置に同じ図形を表示するため 何もしていないように見えるだけである。
下のプログラムでは表示のたびに位置を変えるようにした。


 void setup()
 {
   size( 200, 300);
   background(255);
 }

 void draw ()
 {
   fill(0, 255, 0);
   rect(int(random(0,200)), int(random(0,300)), 10, 10);
 }

random(): 指定した範囲で乱数を発生する関数である。 random(0, 200)とすると0から200の間の実数値をランダムに発生する。 rect関数の引数が整数なので、int()を使って発生したrandomを整数に変換している。
このプログラムを実行するとstopを押しプログラムを終了するまで、 ランダムな位置に矩形の表示を続けることがわかる。 表示の速さはframerate(fps)を使って決めることができる。 fpsは1秒間にdraw関数を実行する回数を指定する。 framerate()setup関数に設定する。

トップへ


授業資料 情報グラフィックス論U 次へ

Copyright 2002-2008 Yuki Toriumi