LoginSignup

This article is a Private article. Only a writer and users who know the URL can access it.
Please change open range to public in publish setting if you want to share this article with other users.

More than 3 years have passed since last update.

初心者向け Unity 関数ってなんだよ?

Last updated at Posted at 2019-12-06

書きかけ…工事中…

関数とは

関数の基本的な書き方

返り値の型名 関数名 ( 引数の型 仮引数名、引数の型 仮引数名 );

三角形の面積を求めるプログラム
// (※説明を簡単にする為、小数型ではなく整数型にしています)
// 
// 関数の定義
// 整数型 三角形の面積を計算する(整数型 底辺、 整数型 高さ)
// { 
//      整数型 答え = 底辺 × 高さ ÷ 2;
//      リターン 答え;
// }

// 関数の定義
int CalcTriangleArea(int  bottom, int hight)
{
     int answer = bottom * hight / 2;
     return answer;
}

// 実際の使用例
void Start()
{
     int a = CalcTriangleArea(3, 4)
     print("三角形の面積は " + a + " です。")
}

// 出力結果
// 「三角形の面積は 6 です。」

運動会

運動会のプログラムを見たことがあると思うが…

  • 開会式( )
  • パン食い競走 ( )
  • 騎馬戦 ( )
  • 閉会式 ( )

だいたいこんな感じに書いてある。
上から順に実行する。
大雑把に何をするか書いてあるだけで詳細は書いていない。

いきなり詳細!

これをもし、

  • 先ず校長が壇上に上がる、挨拶をする、教頭から注意事項、PTA会長の挨拶があって…

…っといきなり詳細を書きだして、それがずっと最後まで続いていたら非常に読み辛いのはわかると思う。
大雑把に何をやるのかを書いて、詳細は後のページにそれぞれ記すのが一般的で読み易い。

コンピュータに書くプログラム、Unityのスクリプトも同様に

詳細な処理の長い羅列

void Update()
{
      // なんか詳細な処理、数字の羅列…
      //       ・
      //       ・
      //       ・
      //       ・
      //       ・
      // 延々と何画面にも続く
}

…っと書いてあると全体像や、やろうとしている処理の意図が掴み辛く、非常に読み難いプログラムになる。

関数化された処理の例

void Update()
{
      // キーの入力チェック();
      // 移動処理(); 
      // モーションの更新();
      //  if(ジャンプ可能か())
      //  {
      //      ジャンプ();
      //  }
}

ひとまとまりの処理を関数化し、適切な名前を付けることで処理の意図がわかりやすくなり、全体像も見通しやすくなる。

何も引数を要求しないし何も返さない関数

返り値は空 関数名 (引数なし)


// 関数の定義
void MyFunc()
{
      // やりたい処理内容
      // やりたい処理内容
}

以下工事中…

実体を必要とする関数、必要としない関数

同じ名前の関数だけど、引数の数や種類が違う関数

「関数名<型名>( )」な関数

処理内容に名前を付けてやる

複雑な条件式を関数化する

更新履歴

2019年12月07日 取り敢えず仮投稿

0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up