Processingで学ぶ関数


はじめに

この記事は子供向けに作成しています。

必要な知識

・setupとdrawがわかる
・変数がわかる

関数とは?

「かんすう」と読みます。
英語では「Function(ファンクション)」と呼びます。
関数と聞くと何やら難しそうですが、なんてことはありません。少しずつ覚えていきましょう。

関数を使うメリット

簡単に言うとプログラムコードをまとめられます。
なんども同じようなプログラムコードを書く必要がなくなり、そして後からプログラムコードを読み直した時にもわかりやすく、プログラムコードの変更も簡単になります。
「関数がわからないとゲームが作れない!」ということはありませんが、関数がわかるとグンっとプログラミングスキルがUPします。

こんな人に読んでもらいたい

・ゲームを作っているが、何か変更を加えるたびに修正が大変だと思っている。
・後からプログラムコードを読み直した時に、どこがなんの処理かわからなくなりやすい。

初めての関数

まずはsetupとdraw

void setup(){
  size(600, 400);
}
void draw(){
  background(0);
}

人の顔の絵を描いてみます。

void setup(){
  size(600, 400);
}
void draw(){
  background(0);

  // 顔っぽい絵を描いていきます。
  noStroke();
  // 顔
  fill(255, 255, 255);
  rect(200, 100, 200, 150);

  // 左側の目
  fill(30, 30, 30);
  ellipse(250, 150, 10, 10);
  // 右側の目
  ellipse(350, 150, 10, 10);
}

機能をまとめる

  // 顔っぽい絵を描いていきます。
  noStroke();
  // 顔
  fill(255, 255, 255);
  rect(200, 100, 200, 150);

  // 左側の目
  fill(30, 30, 30);
  ellipse(250, 150, 10, 10);
  // 右側の目
  ellipse(350, 150, 10, 10);

drawの中の、この部分のプログラムって「顔を描く」というプログラムですよね。
であれば、「顔を描く」という機能で、プログラムをまとめてしまいましょう。

void setup(){
  size(600, 400);
}
void draw(){
  background(0);
}
// ここが追加された!これが関数!
void kao(){
  // 顔っぽい絵を描いていきます。
  noStroke();
  // 顔
  fill(255, 255, 255);
  rect(200, 100, 200, 150);

  // 左側の目
  fill(30, 30, 30);
  ellipse(250, 150, 10, 10);
  // 右側の目
  ellipse(350, 150, 10, 10);
}

kao」という関数を作りました。drawの中にいた、顔を描いていたプログラムコードをkao関数の中にお引越ししています。

関数を呼び出す

kao関数を作りましたが、ここまでは関数を作っただけです。作った関数は、呼び出して初めて機能します。drawの中で呼び出してみましょう。

void setup(){
  size(600, 400);
}
void draw(){
  background(0);
  // kao関数を呼び出す!変数ではないので、「()」をつけて呼び出すぞ!
  kao();
}
void kao(){
  // 顔っぽい絵を描いていきます。
  noStroke();
  // 顔
  fill(255, 255, 255);
  rect(200, 100, 200, 150);

  // 左側の目
  fill(30, 30, 30);
  ellipse(250, 150, 10, 10);
  // 右側の目
  ellipse(350, 150, 10, 10);
}

これでkao関数を呼び出すだけで、顔の表示ができるようになりました。

顔をどう描くかは、kao関数の中に全てまとまっているので、顔の表情を変えたかったらkao関数の中だけを修正すればよくなります。

最後に

これはまだ関数の少しの機能しか紹介していません。まだまだ便利な機能がありますので、続きをまた書いていきます。