配列によりひとつの変数に複数のオブジェクトを格納できます。
Array クラスは Javascript でのみ利用可能です
Array クラスで実現できることの基本的なサンプルです:
function Start () { var arr = new Array ();
// Add one element arr.Push ("Hello"); // print the first element ("Hello") print(arr[0]);
// Resize the array arr.length = 2; // Assign "World" to the second element arr[1] = "World"; // iterate through the array for (var value : String in arr) { print(value); } }
The Array class is only available in Javascript.
Unity には二種類の配列があり、ビルトインの配列と Javascript 配列があります。
ビルトイン配列(ネイティブ .NET 配列)は非常に高速かつ効率的ですがリサイズできません
これらは static に型宣言されていて、インスペクターで編集可能です。次にビルトインの配列を使用する基本的なサンプルを示します。
// Exposes an float array in the inspector, // which you can edit there. var values : float[];
function Start () { // iterate through the array for (var value in values) { print(value); }
// Since we can't resize builtin arrays // we have to recreate the array to resize it values = new float[10];
// assign the second element values[1] = 5.0; }
using UnityEngine; using System.Collections;
public class ExampleClass : MonoBehaviour { // Exposes an float array in the inspector, which you can edit there. public float[] values; void Start() { foreach (float value in values) { print(value); }
// Since we can't resize builtin arrays // we have to recreate the array to resize it values = new float[10];
// assign the second element values[1] = 5.0F; } }
ビルトイン配列はパフォーマンスが重要なスクリプトでは便利です( Unity の Javascript やビルトイン配列では mesh インターフェースを使用して秒間 200 万頂点を容易に処理できます。)
一方で通常の Javascript 配列はリサイズやソートなどの配列クラスで行うすべての操作ができます。
Javascript 配列はインスペクターで表示されません。
Javascript 配列とビルトイン配列どうしで簡単に変換ができます。
function Start () { var array = new Array (Vector3(0, 0, 0), Vector3(0, 0, 1)); array.Push(Vector3(0, 0, 2)); array.Push(Vector3(0, 0, 3));
// Copy the js array into a builtin array var builtinArray : Vector3[] = array.ToBuiltin(Vector3) as Vector3[]; // Assign the builtin array to a js Array var newarr = new Array (builtinArray); // newarr contains the same elements as array print (newarr); }
The Array class is only available in Javascript.
Unity の命名規則にもとづき配列の関数が大文字であることに注意してください。
Javascript ユーザーにとって便利なことに、配列クラスで Unity は小文字の関数名も使用できます。
注意: Unity は List のリストや Array の配列といったシリアライズはサポートしません。
length | 配列の要素番号を設定するか戻り値とする配列の length プロパティーです |
Array | サイズが固定された配列を作成します |