アフィリエイト広告を利用しています

現在ははてなブログで投稿しています!

広告

posted by fanblog

2017年06月23日

unityでのプログラミング基礎知識 2

関数とは

関数とは大まかにいえば、プログラムをまとめるもの、でしょうか?

unityでは、文字の羅列だけツラツラ書いていてもゲームは作れません。
unityは「ゲーム開発ソフト」ですので、「必要な時に、必要な分だけの処理」が必要になりますよね?

例えば、「剣が敵に当たったらダメージを与える」という処理などがそうです。

そこで役に立つのが、関数です。
というか、関数ないとプログラムは動きませんがね(笑)

という事で、そんな大事な「関数」を、前回お教えした変数を折り交えながら説明していきます!





ゲーム開発ランキングへ

関数について


まず、関数の書き方は
void 関数名 (引数) { 〜実行処理〜; }

こうです!

引数の説明は後に回すとしましてー。
思ったよりも大切な関数名の説明からいきましょう!

まず、関数の名前によって処理が決まっている、という事もあります。
決まっている名前以外の名前なら自分で決めれます。

例えば、
void Start () { }

この関数だと、Startという関数名ですよね?
これは処理が決まっていて、「ゲーム開始直後に1度だけ呼ばれる」という特徴を持っています。

他にも、
void Update () { }

この様にUpdateであれば「ゲーム実行中、絶え間なく呼ばれ続ける」という特徴があります。

ですが、
void Example () { }

このExampleという関数名はunityに設定されていません。
ですので、この関数を呼ばないと実行されません!

では、関数はどのようにして呼び出すのか?それは、
関数名(引数);

だけです。

引数の説明はまだしていないので無視するとして、上記のExample関数を呼びたい!
→Example();
はい、呼び出せました。

簡単でしょう?
あとは関数の{}内に実行処理を書き加えれば良いのです!
計算とかですね!

計算などは次回ご説明致します!
では、次はいよいよ引数の説明に入ります!

難しいんですよね……引数。
僕も、初めての頃はとても苦労しました……。
という訳で、皆さんにも分かるよう、解説していきます!

まず、引数とは何か?
言うなれば……「お土産」でしょうか……。

“ 関数を呼ぶプログラム ”にお土産を持たせて、実行させに行く……みたいな。
ちょっと自分でも何言ってるか分からないので、サンプルを。

//void 関数名 (引数) { 実行処理 }

//変数宣言
//変数の型 変数名;
int hp;  //hpという名の整数が入る変数(入れ物)

void Start () { //ゲーム開始直後に呼ばれる
 //hpに100を代入→hp = 100; に。
 hp = 100;

 //“ ReduceHp関数 ”を呼ぶ。
 //この時、引数(土産)は「10」に。
 ReduceHp(10);
}

//ここで土産(10)を「damage」として受け取る。
//土産を“ 受け取る ”時だけ、
受け取る変数の型を記述する。

//→ damage = 10; になる!
void ReduceHp (int damage) { //ReduceHp関数
 //hp(100)からdamage(10)を引く→ hp = 90;
 hp = hp - damage;
}


……これで分かって頂けるでしょうか…!
あまり自信は無いんですが……。

関数を呼びにいく際、値を持たせ、向こうの関数で使用する、という事なのですが……。

持っていった値を使って、呼ばれる関数の引数部分で変数を「作り」ます。
持ってきた値を作った変数に入れて使う、といった感じです。
説明が下手ですみません……!

ここで1つ言っておくと、引数はサンプルのように生で値を引数にしても良いですし、変数でも良いですよ!

いつも言ってるような気がしますが、分からなければ本当にコメントしてくださいね(笑)
大歓迎ですよ!

さて、文字数が2000を超えてきたのでそろそろ終わりにしようかと。
今回までで変数と関数、やってきましたがちゃんと覚えておいて下さいね!

プログラミングの基本中の基本となりますので!
それでは次回、計算の仕方や式の仕組みを解説します!

では、また次回!




【お勧めラノベ】

異世界魔法は遅れてる! 1

価格:691円
(2017/6/26 17:26時点)
感想(0件)



現代に生きる魔術師である八鍵水明は、突如現れた魔法陣によって友人とともに異世界へ転移してしまう。
だけど勇者として呼び出されたのは友人で、自分はそれに巻き込まれただけ!?
しかも帰る方法がわからない!?
水明は魔王討伐の旅に同行することを断り、ありとあらゆる現代魔術を駆使しながら、 もとの世界に帰る方法を探しはじめる――。





【スポンサードリンク】





投稿コメント
返信だいぶ遅れました!
すみません、立て込んでいて…。

質問の回答ですが、説明難しいですね…。

例えば、関数Aがあるとします。
void A () {} ですね。
この関数Aを呼び出すとき、
A(引数);
と記述しますよね。

これは、
「『引数』を持って関数Aを実行しに行け」
という命令です。

なので、
A(10);
と命令すれば、
「『10という値』を持って関数Aを実行しに行け」
という命令になります。
※ここでの『10という値』を引数と言います。

受け取る側である関数Aは、
void A (int number) {}
という記述に変わります。

この時、
A(10);
と実行すると、
void A (int number) {}
は『10という値』を『number』として受け取ります。
この『number』は関数Aの中のみで使える一時的な変数みたいな物です。

例を他に出すと、
void B (string message) {
Debug.Log(message);
}
という関数を、
B("あいうえお");
で実行すると
コンソールに「あいうえお」と出力されます。

「引数は、関数を呼び出す際に値を持っていける」と単純に考えてしまうと良いかと思います。
分かってしまえば簡単な仕組みなんですけど…。
2019年08月17日 12:26
投稿 : ピノまっちゃ
初めまして!
今月からUnityの勉強を始めました。それ以前には、C言語を2週間ほど、独学で勉強しています。

下から11行目に、
「持っていった値を使って、呼ばれる関数の引数部分で変数を「作り」ます。」
とありますが、

持っていった値、引数(=10というお土産)を、
呼ばれる関数の引数部分(またお土産)で、
変数(箱)を作る……ここのイメージがよくわかりません;;

お土産の中に箱(空間?)を作って、そこに他のお土産を入れる、つまりマトリョーシカ
みたいな感じでしょうか。めっちゃ難しいですね;;
2019年06月14日 10:45
投稿 : どしろーとさん
* 気軽にコメントくださいー *

※ ブログに表示されるのは、主の承認が必要なので時間がかかります!
  コメントに気づかない場合もありますので、返信が遅れる場合も...

お名前:

メールアドレス:


ホームページアドレス:

コメント: 必須項目

この記事へのトラックバックURL
https://fanblogs.jp/tb/6401978
※ブログオーナーが承認したトラックバックのみ表示されます。

この記事へのトラックバック
検索
プロフィール
ピノまっちゃさんの画像
ピノまっちゃ
どうも、ピノまっちゃ(PinoMatcha)です!
ゲーム制作をちょこまか頑張ってる大学生で、プログラミングも独学です。
ですので実力は全然ですが、最善を尽くして頑張っております!

名前の由来はピノの抹茶味が好きだからじゃなくて、ピノと抹茶が好きだからです!


更新 : 不定期!
プロフィール
新着記事
最新のコメント
更新事項
2018/8/2 定期更新への変更の報告に追記しました。

2018/5/10 「続きを読む」機能の使い方がやっと分かりました。

2017/9/14 プレイヤーを動かす:関数の解説の一部を書き直しました。

2017/8/1 【unity5】カメラ移動・回転させる方法に多数の画像を追加しました。
カテゴリーアーカイブ
YouTubeチャンネル
Fantiaリンク
よければ応援お願いします!

Pixivアカウント
現在、調整中です…
×

この広告は30日以上新しい記事の更新がないブログに表示されております。