Unityで使用されているC#の関数について知ろう

 

 

関数の種類

 

【用語説明】

 

引数  関数に対して入力する値
返り値 関数によって、処理され出力される値

 

 

スタート時に一回実行される関数

 void Start() { }

 

引数も返り値もない関数

 

呼び出し方

 

{
Normal( ); //関数名( )を書く
}

 

作り方

 

void Normal( ) //Normalは適当に付けた関数名
{
//処理を書く
}

 

解説
Normal( )を実行すると、処理が実行される。

 

引数がある関数

 

呼び出し方

{
Kansumai(12); //Kansumaiは適当に付けた関数名
}

 

作り方

 

void Kansumai(int number) //関数名Kansumaiで、引数は整数のnumber
{
//処理を書く
}

 

解説
関数Kansumaiに対して、数値を入れる(引数)ことで処理される

 

使い方例

 

int hp = 100; //playerのもともとのHP

 

void Start( ) //Startに記載したのは、プログラムスタート時だけ処理を行うため。

 

//もしUpdate(関数)に書いた場合には、繰り返し処理がされ、hpはどんどん減っていく。

 

{
Damage(22) //22の数字が処理に適用される
}

 

void Damage(int damage) //ダメージを計算する関数を作った
{
hp -= damage; //HPから22を引く

 

Debug.Log(“playerは”+damage+”を受けHPが”+hp+”になった”);
}

 

引数がなく返り値がある関数

呼び出し方

 

string sampleText = Hello( ); //関数Helloの返り値を与える
Debug.Log(sampleText);

 

作り方

 

//関数
string Hello( ) 
{
string text = “こんにちは”;
text += “C#を覚えて”;
text += “ゲームを作ろう”;
return text; //返り値を宣言する
}

 

解説
文字列型の関数Helloをつくり、textとして返します。
textをsampleTextに代入し、デバックで確認してます。

 

これが、引数がない関数になります。

 

引数も返り値もある関数

呼び出し方

 

string sampletext1 = Hello(“3Dゲーム” ); //引数は3Dゲーム
string sampletext2 = Hello(“アプリ” );
Debug.Log(sampletext1);
Debug.Log(sampletext2);

 

作り方

string Hello(string word) //引数をwordとした
{
string text = “こんにちは”;
text += “C#を覚えて”;
text += word; //引数を当てはめる
text += “を作ろう”;
return text; //返り値はtext
}

 

関数を他のclassで利用する方法

 

関数の値を渡すclass(オブジェクト)側

public class  Player : MonoBehaviour

 

//変数の宣言
public bool Hpdamage = false; //ダメージを受けていない

 

//関数
public bool PlayerDamage( )
{
Hpdamage = true; //ダメージを受けた
return Hpdamage; //Hpdamageを返す
}

 

関数の値を利用するclass

public class Score : MonoBehaviour

 

//設定
[Header("値を渡すclassのオブジェクト")] public Player p;

 

//変数の宣言
private bool hpdamage = false; //ダメージはない

 

//関数
void Update( )
{
hpdamage = p.PlayerDamage( ); //Hpdamageの値を受け取る
Debug.Log(hpdamage); //確認する
}

このページの先頭へ戻る