今すぐ理解したい!Unityで配列を扱う方法【初心者向け】
初心者向けにUnityで配列(array)を使う方法を解説しています。配列(array)は、Unityでのゲーム開発のみならずプログラミング全般で必ず必要な知識になるので、これからスキルアップしたい方はぜひご覧ください。
テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日 調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名 調査手法:インターネット調査
配列とは、ある特定の型の変数をグループにして分かりやすくしたものです。
ほとんどのプログラミング言語に存在し、もちろんUnityで使用されているC#でも使用することができます。今回はそんな配列について解説していきたいと思います。
なお、本記事はTechAcademyのUnity入門オンライン講座の内容をもとにしています。
ここではUnityで配列を扱うときのことについて勉強しよう。
田島メンター!!配列というのは何ですか~?
配列は同じ型の複数のデータをひとつにまとめて並べたものだよ。どちらかというと今回はUnityというよりプログラムについての内容になるね。
分かりました。お願いします!
配列の書き方
それでは配列の書き方について解説していきます。まずは配列の宣言の方法です。配列の宣言の方法には二種類があります。
int[] array = new int[50]; //配列の宣言 int[] array = {0, 1, 2}; //配列の宣言&初期化
このように配列を宣言時に初期化する方法と、長さだけ決めて値自体は初期化しない方法があります。
ただ上のように、 宣言だけを行うと値が入っていない場所にアクセスされて思わぬバグを起こす可能性があるので配列のすべてに値を入れるようにしましょう。
また、配列は上に挙げた配列である「一次元配列」の他に「二次元配列」や「ジャグ配列」などが主に使用されます。
int[] array2 = new int[10][10]; //二次元配列 int[][] jaggedArray = new int[10][]; jaggedArray[0] = new int[2]; jaggedArray[1] = new int[3]; //ジャグ配列の宣言
二次元配列はその名の通り、要素が二つある配列です。
表のようにデータを扱いたい時に使用します。 ジャグ配列は「配列の配列」と呼ばれているものです。使用頻度は少ないですが、大量のデータをまとめることができるので、使用する場面があります。
配列は宣言と同時に値を入れておくことができるんだ。
二次元配列とか、ジャグ配列とかかなり難しそうですね……
今回は練習として、シンプルな配列を画面に表示させることだけやってみよう。
実際に配列を書いてみる
それでは実際にUnityで配列を書いてみましょう。今回は配列を乱数で初期化して、その内容をすべて表示するプログラムを書いていきたいと思います。 今回は以下のようにテキストを作成して見やすい配色にしました。
次に実際の処理の部分を書いていきましょう。
using UnityEngine; using System.Collections; using UnityEngine.UI; public class ArraySample : MonoBehaviour { public Text arrayText; private string[] stringArray = new string[10]; //配列の宣言 void Start () { arrayText.text = ""; //テキストの初期化 for (int i = 0; i < stringArray.Length; i++) { stringArray[i] = Random.Range(1, 100).ToString(); //乱数の生成 arrayText.text = arrayText.text + stringArray[i] + ","; //テキストの上書き } } }
実際に実行して見て、以下のようになれば成功です。
まとめ
今回は配列について解説していきました。配列を使用すれば、ループを回すのが簡単になったり、変数の整理ができたりします。
配列とよく似た構造のプログラミングにListというものもあるのでそちらもきになる方は調べてみてください。
配列に関する解説は以上だよ。
ここに表示されている数値が、配列の要素になるんですね。
今回はC#について解説したけれど、UnityではJavaScriptでの配列も仕様することができるよ。また、ビルトイン配列というものもあるけれどこれは要素の数を変更できないということを覚えておこう。
色々種類があるんですね。頭に入れておきます!
[お知らせ]TechAcademyではオリジナルゲームアプリが公開できるUnityオンラインブートキャンプを開催しています。現役Unityエンジニアのサポートで効率的に学びたい場合はご検討ください。