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を超えてきたのでそろそろ終わりにしようかと。
今回までで変数と関数、やってきましたがちゃんと覚えておいて下さいね!
プログラミングの基本中の基本となりますので!
それでは次回、計算の仕方や式の仕組みを解説します!
では、また次回!
【お勧めラノベ】
価格:691円 |
現代に生きる魔術師である八鍵水明は、突如現れた魔法陣によって友人とともに異世界へ転移してしまう。
だけど勇者として呼び出されたのは友人で、自分はそれに巻き込まれただけ!?
しかも帰る方法がわからない!?
水明は魔王討伐の旅に同行することを断り、ありとあらゆる現代魔術を駆使しながら、 もとの世界に帰る方法を探しはじめる――。
【スポンサードリンク】
【このカテゴリーの最新記事】
-
no image
-
no image
-
no image
この記事へのトラックバックURL
https://fanblogs.jp/tb/6401978
※ブログオーナーが承認したトラックバックのみ表示されます。
この記事へのトラックバック
すみません、立て込んでいて…。
質問の回答ですが、説明難しいですね…。
例えば、関数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("あいうえお");
で実行すると
コンソールに「あいうえお」と出力されます。
「引数は、関数を呼び出す際に値を持っていける」と単純に考えてしまうと良いかと思います。
分かってしまえば簡単な仕組みなんですけど…。
投稿 : ピノまっちゃ
今月からUnityの勉強を始めました。それ以前には、C言語を2週間ほど、独学で勉強しています。
下から11行目に、
「持っていった値を使って、呼ばれる関数の引数部分で変数を「作り」ます。」
とありますが、
持っていった値、引数(=10というお土産)を、
呼ばれる関数の引数部分(またお土産)で、
変数(箱)を作る……ここのイメージがよくわかりません;;
お土産の中に箱(空間?)を作って、そこに他のお土産を入れる、つまりマトリョーシカ
みたいな感じでしょうか。めっちゃ難しいですね;;
投稿 : どしろーとさん
※ ブログに表示されるのは、主の承認が必要なので時間がかかります!
コメントに気づかない場合もありますので、返信が遅れる場合も...