Unityの配列の作り方
Unityでは配列を作ることで多くの変数を一つにまとめることが可能だ。ゲーム開発を行っていると扱う変数も増えるので、それをまとめられるのはとても有用だ。C#でのスクリプトの開き方、基本的な構文の作り方、ループ文がわからない場合はこの記事で学習する前に以下を確認するのをおすすめする。UnityのC#の書き方
UnityのC#の変数
while文とfor文(ループ文)
また、Unityの基礎知識や操作などがわからない場合は先に以下の記事を確認してほしい。
Unityの基礎まとめ
配列について詳しく紹介していく。
Unityの配列の作り方目次
配列の作り方の基礎多次元配列
foreach文
目次にもどる
配列の作り方の基礎
例えば、5つの同じ種類の変数を作りたい場合の配列の記述方法は以下の通り。int[] x = new int[5];
x[0] = 11;
x[1] = 24;
x[2] = 22;
x[3] = 33;
x[4] = 58;
配列は1つの巨大な箱に小さな箱があると考えればわかりやすい。
int[] x = new int[5]のxが配列全体の名前であり、5の部分が小さな箱の数を示す。newは新たに作成するという意味であり小さな箱を5つ作ることを示している。x[0] = 11;以降は、小さな箱それぞれに入れる値を記述していく。
注意したいのは小さな箱の番号が始まるのは0からということ。x[0]であれば0が小さな箱の番号。5つの小さな箱がある場合、箱の番号は0~4である。x[5] = 65などと記述するとそんな箱はないのでエラーが出る。
なお、以下のようにまとめて記述することもできる。
int[] x = {11,24,22,33,58};
目次にもどる
多次元配列
箱の中に3箱あり、その箱の中にまた7箱あるというような多次元配列も可能である。以下のように記述すればいい。int[,] x = new int[3, 7];
int[,] x の[]の中の,を増やすことで次元を更に増やすことも可能。 増えた次元の文だけnew int[,];の[]の中に各次元の箱の数を記述する必要がある。
分類しているデータなどを扱う時に有用。例えばキャラA、キャラB、キャラCとキャラがおり、各キャラについてHP、攻撃力。防御力、スピード、現在位置などのステータスが必要な場合などは多次元配列が役立つ。
目次にもどる
foreach文
配列を扱う際に重宝するのがforeach文だ。複数の箱(要素)を持つものを順番に取り出すことができる。foreach(取り出したものを入れる変数 取り出し元)のように書く。
例えばStartメソッドに以下のように書いてみよう。
int[] x = { 5, 3, 4, 2, 1};
foreach(int a in x)
{
Debug.Log(a);
}
int[] x = { 5, 3, 4, 2, 1};で配列の中にある小さな箱に数値が代入される。それをforeach文で順番に取り出しつつaに代入しログを出しループする。ログは5、3、4、2、1と順番に出る。
複数の値がある配列の中身をまとめて確認することができるのでとても便利だ。