Unity C# 変数の宣言と型

IT

UnityというかC#で変数を宣言する方法、型の種類についてです。

スポンサーリンク

変数の型

Unityで使える変数の型としては、たとえば以下のようなものがあります。

型名 型の意味 扱える範囲
int 整数 -2,147,483,648~2,147,483,647
float 浮動小数点 -3.402823E+38~3.402823E+38
double 倍精度浮動小数点 -1.79769313486232E+308~1.79769313486232E+308
bool ブール値 trueまたはfalse
string 文字列 テキスト
GameObject ゲームオブジェクト ゲームオブジェクト名
Text、SpriteRenderer、Scriptなど オブジェクトのコンポーネント コンポーネント名

変数の宣言

unity 変数 宣言 private1
習うより慣れろで、まず変数を宣言して使ってみます。
変数はメソッドの中、外どちらでも宣言できます。クラス内/複数クラスで使いまわす変数ならクラスの頭で指定すべきですが(例外はある)、局所的にしか使わないならメソッド内で指定で問題ありません。
//Unity C#
void Start()
  {
  //整数型の変数nを作成
  int n;
  //nに1を代入
  n = 1;
  //nをコンソールに表示
  Debug.Log(n);
}
変数の宣言としては、型 変数名;という形式が最もシンプルです。
変数名 = 値;で変数に別の値を代入することができます。
//Unity C#
//整数型の変数nを作成+1を代入
int n = 1;
また、型 変数名 = 値;とすることで、変数の宣言と同時に初期値を代入することができます。
unity 変数 宣言 private2
スクリプトをオブジェクトにアタッチします(Startなのでどのオブジェクトでも可)。
unity 変数 宣言 private3
実行すると、作った変数nに代入した数値がコンソールに表示されます。
//Unity C#
  n = 2;
  //nをコンソールに表示
  Debug.Log(n);
}
変数の値を変えてやれば、
unity 変数 宣言 private4
出力される結果も変わります。

変数とはこのようにゲーム内で変動する値のことで、変数ごとに名前が付けられます。変数には型ごとに決まったフォーマットの値を代入することができます。
HPやMPのような数値管理やフラグ管理の他、何度も使う長い構文を変数に代入することでコードをスリムにする(長い名前の人にあだ名をつけるようなものです)役割も果たします。

変数の計算

//Unity C#
int n;
n = 1 + 2;
Debug.Log(n);
では、変数を使って計算をしてみたいと思います。
まず作った変数nに、1+2を代入する場合は、代入する値の部分に足し算をそのまま表記します。
unity 変数 計算1
コンソールには、結果である3が表示されます。
//Unity C#
int n = 1;
int m = 2;
n = m + 2;
Debug.Log(n);
数字だけでなく、変数を計算に使うこともできます。
unity 変数 計算2
結果は4です。さらに、
//Unity C#
int n = 1;
n = n + 1;
Debug.Log(n);
nとn+1を=でつなげることもできます。数学の式としてはおかしいですが、あくまでプログラミングではA = Bは「BをAに代入する」という意味なので、
unity 変数 計算3
ちゃんと動きます。結果は2となります。

演算子

//Unity C#
int n = 1;
//足し算
n = 1 + 2;
//引き算
n = 2 - 1;
//掛け算
n = 1 * 2;
//割り算
n = 2 / 1;

四則演算はそれぞれ+、-、*、/と表記します。
//Unity C#
int n = 1;
//足し算(n = n + 2と同じ意味)
n += 2;
//引き算(n = n - 1と同じ意味)
n -= 1;
//掛け算(n = n * 2と同じ意味)
n *= 2;
//割り算(n = n / 2と同じ意味)
n /= 2;
変数の値を変更する場合は、演算子に=を付ける形で表記することもできます。
//Unity C#
int n = 1;
//足し算(n + 1)
n ++;
//引き算(n - 1)
n --;
また、変数の数字を1だけ増やす場合は変数の後に+をふたつ(インクリメント演算子)、1だけ減らす場合は-をふたつ(デクリメント演算子)置く書き方もできます。

文字列変数

//Unity C#
string n = "Hello";
stringは文字列を代入できる変数の型です。数値とちがい、文字列を代入する時は""で閉じる必要があります。
//Unity C#
    void Start()
    {
        string n = "Hello";
        Debug.Log(n + ",World");
    }
文字列どうしを繋げる場合も+を使います。たとえばHelloを代入したnのあとに",World"という文字列を繋げて出力すれば、
unity hello world
繋がった文字列として表示されます。
やりたいことから逆引きするUNITYの使い方まとめ
Unityをやりたいことから学習していけるよう、機能・用途別にまとめたページです。C#の命令別の逆引きは現時点で作っていません。2019の時期に書き始めているので、それより前のバージョンについては言及しません。

コメント