値を返すメソッド
CoddyのUnityジャーニー「Unityスクリプトの基礎」セクションの一部。レッスン 40/85。
メソッドの中には、何かの処理を行うものがあります。一方、計算機のように計算して答えを返すものもあります。後者の場合、答えの型をvoidがあった場所に書きます。
int Double(int n)
{
return n * 2;
}名前の前にあるintは、このメソッドがintを返すことを示しています。returnは値を呼び出し元に返してメソッドを終了するため、同じメソッド内でその後にある行は実行されません。
呼び出しは、どこに置いても答えを表します。
int big = Double(21); // big は 42 です
Debug.Log("Twice 5 is " + Double(5));値を返すメソッドは、その型の値を伴うreturnに到達する必要があります。そうでなければ、C#はスクリプトの実行を拒否します。
チャレンジ
中級Scoreを完成させましょう。コインは1ポイント、宝石は5ポイントです。
Score(int coins, int gems)の中で、return 0;を見つけましょう。- それを
return coins + gems * 5;に置き換えましょう。
「プレイ」を押すと、3枚のコインと4個の宝石で、コンソールにScore: 23と表示され、バーが伸びます。その後、「確認」を押しましょう。
自分で試してみよう
using UnityEngine;
public class ScoreBoard : MonoBehaviour
{
void Start()
{
int score = Score(3, 4);
Debug.Log("Score: " + score);
transform.localScale = new Vector3(1, score / 5f, 1);
}
// コインは1ポイント、宝石は5ポイントに相当します。
int Score(int coins, int gems)
{
return 0;
}
}
Unityスクリプトの基礎のすべてのレッスン
自分で練習してみよう: Unityプレイグラウンド