【Unity入門】誰でもわかる配列の使い方!まずは基本を覚えよう!

今回はUnityで開発する上で、必須となる配列について見ていきましょう。

配列は基本どんな言語にも存在する仕組みなので、今回マスターしておけば他の言語を触った際にも、入っていきやすいでしょう。

ぜひ今回で学び切ってください。

では今回ほアジェンダです。

[基本]配列とは?
[基本]使ってみよう!
[基本]ループさせてみよう!
[基本]【実践編】GameObjectを保持してみよう!
[応用]要素数も取得できる!
[応用]動的な配列と連想配列!

基本的な部分から入り、初心者が最初によく使うGameObjectの管理を実例に見ていきましょう。

そこから先はより配列を深く学べる内容を応用項目として用意してあります。

それではよろしくお願いいたします。

配列とは?

まず配列とはなんなのか?

一言で言ってしまえば「データの塊を保持できるデータ型」のことです。

作品を作る上では変数が非常い多くなってしまうものです。

それらをまとめられるなら、非常に便利ですね!

早速使ってみましょう!

使ってみよう!

では実際に作成から使用するところまで、流れにそって見てみましょうか。

変数を宣言!

まずは変数を宣言する必要があります。

例えば、実際にint型(整数)を保持する配列を作る場合以下のように記載します。

非常に簡単ですね!

「arrayという名前の、int型配列だよ!」と宣言しています。

では早速使ってみましょう…と言いたいところですが、これだけでは使えません。

使おうとしてエラーとなってしまうでしょう。

なぜなら、変数を作っただけでは、まだ中身が空っぽだからです。

newを使って生成

先ほど作った変数を使うには、以下のようにnewして配列を生成し代入する必要があります。

この例では、3つまでint型を保持できる配列を作成しています。

[3]の部分ですね。

この部分が「3つの要素まで確保できる変数」と指定を行っています。

つまりここをもっと大きくすればもっと大きな配列も作成可能です。

宣言と生成は同時に行える!

また、お気付きの方も多いと思いますが、変数の宣言と生成は同時に行えます。

こんな感じですね!

分ける必要がないときは一行で済ませてしまいましょう!

初期値を代入した初期化

先ほどはnewと使って生成しましたが、newを使わずとも生成する方法もあります。

以下のように、初期化時に要素を指定してしまう方法です。

この方法でもarray配列の中には、3つの要素を保持することができる配列が生成されます。

こちらを使うメリットは、生成と同時に配列の各要素の初期値を決めることができることです。

うまく使い分けましょう!

要素を代入しよう!

では先ほど作った、配列の各要素へ代入を行っていましょう。

ただ単に[]と、その中に要素の順番の番号を入れることによって、要素を指定できます。

あとはその指定した要素へ「=」で代入を行っているだけですね!

ここで少し注意が必要なのは、要素の番号は0から開始されるということです。

「new int[3]」と生成を行ったら、「array[0]」「array[1]」「array[2]」の3つの要素が存在することになるわけです。

「array[1]」「array[2]」「array[3]」ではないので注意しましょう!

要素を取得してみよう!

代入を行った時に、取得は予測できている人も多いでしょう。

非常に簡単で以下の方法となります。

先ほどの代入を行ったあとならば、それぞれ「100」「101」「102」といった整数が取れるでしょう。

ループさせてみよう!

配列を作った後にやりたくなることの一つが、その配列の要素をループして、すべてにアクセスすることですよね。

その主な方法も見てみましょう。

for文を使用したループ!

まずはfor文を使用したループです。

例えば全部の要素をログに表示したい場合は以下のプログラムを組みましょう。

for文がわかる人ならば簡単ですね。

array.Lengthで要素数を取得し、その数だけループを行っているだけです。

※array.Lengthについては後ほど説明しますね!今は要素数を取得できることだけ覚えておいてください。

またDebug.Logについて知りたい場合は、以下の記事をお読みください。

【Unity入門】Debug.Logを完全攻略!使いこなせばこんなことまで!?
更新日 : 2018年12月19日

foreach文を使用したループ!

次にはforeach文を使用したループです。

こちらも非常にシンプルですね!

みれば意味はなんとなくわかると思います。

配列であるarray変数から、一個ずつi変数へ取り出してログへ出力しているだけですね。

【実践編】GameObjectを保持してみよう!

初心者の方がよく最初にやりたくなることの一つが、GameObjectを配列で保持することでしょう。

ちょっと試しにやってみましょう。

以下のプログラムは「Cube1」「Cube2」「Cube3」オブジェクトを検索取得し、配列に代入しています。

そのあとその名前をログに吐き出しているだけのシンプルなサンプルです。

結果は以下の通りです。

unity-array-1

配列ないのオブジェクトの名前がちゃんと表示できていますね!

また今回使用した、Find関数について詳しく知りたい人は以下の記事をご覧ください。

【Unity入門】3分でわかるオブジェクト検索方法!Findを使いこなせ!
更新日 : 2018年12月19日

要素数も取得できる!

先ほどfor文の例の中で使用しましたね。

たったこれだけで、配列の要素数を取得できます!

を「array.Length」した場合は、3が帰ってきて…

を「array.Length」した場合は、100が帰ってきます。

うまく活用しましょう。

動的な配列と連想配列!

では最後に、動的な配列連想配列について少しだけ見ていきたいと思います。

とても便利な機能なので、ぜひ貼っておいた各記事を読んでおくことをお勧めします。

Listで動的な配列!

List動的に要素を拡張できる配列です。

配列の場合、最初に配列の要素を決めておく必要がありました。

しかしListは必要ならば勝手に配列を延長してくれます。

例えば以下はList型の、item_list変数を準備し、アイテムを追加していく例です。

事前に要素数を指定し生成しておく必要がありませんね。

Add関数で要素を追加していけば勝手に延長してくれるわけです。

とても便利な機能なので、ぜひ以下の記事から学んでおいてください。

【Unity入門】アプリ開発で必須!Listの使い方まとめ
更新日 : 2018年4月24日

Dictionaryで連想配列!

Dictionary連想配列を扱える仕組みです。

「key(検索キー)」「value(値)」セットで配列を保持することができます。

しかもキーは整数以外を指定することができるんです!

つまり例えば「アイテム名(文字列)をキー」として「アイテムID(整数)を要素」として、以下のように使うこともできるわけです。

なかなか有用なのでこちらもぜひ覚えていってください!

以下のリンクから説明を行っています。

【Unity入門】Unityで連想配列を使おう!Dictionary完全攻略
更新日 : 2018年6月1日

まとめ

いかがでしたでしょうか?

今回は配列について見てきました。

宣言・生成から始まり、ループ文の使い方…

そしてListやDictionaryといったより便利な道具まで、すべて作品を作る上では必須の機能です。

ぜひマスターし変数を上手に管理しましょう!

現役フリーランスエンジニアによる無料体験レッスン実施中!

もし、あなたが、

  • 経験、年齢、学歴に不安がある
  • 挫折しない学習方法が知りたい
  • アプリ開発で困っている
  • エンジニアの”生”の声が聞きたい!
  • 仕事獲得の仕方がわからない
  • エンジニアに転職したいが何をすればいいかわからない

など、プログラミング学習やキャリアのことでお困りであれば、まずは『無料体験レッスン』にお申し込み下さい。

あなたにとって、最適の解決策をご提案させていただきます。

詳しくは下の画像から詳しいサービス内容をご確認ください。

cta_mtm3

LINEで送る
Pocket

書いた人

sato

sato

学生時代を含めると、かれこれ10年以上プログラマーとして過ごしています。
様々な言語や環境、プロジェクトに関わってきましたので、より実践的な記事をみなさんにお届きるよう情報発信していきます!

おすすめコンテンツ

あなたにぴったりなプログラミング学習プランを無料で診断!

プログラミング学習の効率を劇的に上げる学習メソッドを解説