【Unity入門】メソッドに配列を渡す方法と実用的な活用例

C言語関連

Unityでゲームを開発していると、複数のデータを一度に処理したい場面が出てきます。例えば、ブロックを一括で設置するような機能には、配列をメソッドに渡す方法が非常に役立ちます。この記事では、Unityでのメソッド引数に配列を使う基本から、実際の実装例までわかりやすく解説します。

UnityのC#で配列をメソッドに渡す基本

C#ではメソッドの引数として配列を指定することができます。基本的な書き方は以下の通りです。

void SetBlocks(string[] blockNames) {
foreach (string name in blockNames) {
Debug.Log($"設置するブロック: {name}");
}
}

このように、string[]型を引数に取ることで、複数の文字列をまとめて渡すことが可能です。

メソッドを呼び出す側の記述方法

配列をメソッドに渡すには、呼び出し側でも配列を準備する必要があります。以下に例を示します。

string[] blocks = {"Grass", "Stone", "Wood"};
SetBlocks(blocks);

このようにして、SetBlocksメソッドに配列を渡すことで、複数のブロック名を一度に処理できます。

実用的な使い方:ブロック設置ロジックへの応用

例えば、ゲーム内でユーザーが選択した複数のブロックを配置するシステムを考えてみましょう。以下のような実装が可能です。

void SetBlocks(string[] blockNames) {
for (int i = 0; i < blockNames.Length; i++) {
GameObject block = Instantiate(Resources.Load($"Blocks/{blockNames[i]}"));
block.transform.position = new Vector3(i * 2, 0, 0);
}
}

このように、リソースフォルダからブロックのプレハブを読み込み、並べて設置することができます。

配列を使う際の注意点

配列は固定長であるため、要素数を変更する必要がある場合はList<string>を使うのが一般的です。例。

List<string> blockList = new List<string> {"Grass", "Stone"};
blockList.Add("Brick");
SetBlocks(blockList.ToArray());

ToArray()メソッドを使えば、Liststring[]に変換してメソッドに渡せます。

まとめ

Unityでメソッドに配列を渡すのは簡単で非常に実用的です。string[]のような基本的な配列の使い方をマスターすれば、ゲームの設計やコードの効率化にも大きく貢献できます。複数のデータを一括処理したい場合は、ぜひ配列を活用してみましょう。

コメント

タイトルとURLをコピーしました