配列によりひとつの変数に複数のオブジェクトを格納できます。
Array クラスは Javascript でのみ利用可能です。 C# または Javascript での ArrayList, Dictionarie または Hashtable の詳細については ここを参照下さい。 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);
}
}
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;
}
ビルトイン配列はパフォーマンスが重要なコードでは便利です(Unity の Javascript およびビルトイン配列では mesh interface を使用して秒間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);
}
Unity のネーミングルールにもとづき配列の関数が大文字であることに注意して下さい。 Javascript ユーザにとって便利なことに、配列クラスで Unity は小文字の関数もまた許容します。 注意: Unity は List のリストや Array の配列といったシリアライズはサポートしません。
| length | 配列の要素番号をセットするか戻り値とする配列の length プロパティです。 |
| Add | 配列の最終に value を追加します |
| Clear | 配列をクリアします。その際、配列の長さをゼロにします。 |
| Concat | 2つ以上の配列を結合します。 |
| Join | 配列の要素を一つの文字列に連結します。 |
| Pop | 配列の最終要素を取り除き、それを戻り値とします。 |
| Push | 配列の最終に value を追加します |
| RemoveAt | 配列の index 番目の要素を取り除きます。 |
| Shift | 配列の最初の要素を取り除き、それを戻り値とします。 |
| Sort | 全ての配列要素をソートします。 |
| Unshift | Unshift によりひとつ以上の要素を配列の最初に追加したうえ、戻り値は追加後の配列の長さとします。 |