Массивы позволяют хранить несколько объектов в одной переменной.
Тип Array доступен только в Javascript.
Вот базовый пример того, что вы можете сделать с классом массива:
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), очень быстрые и эффективные, но они не могут быть изменены
Они статически типизированы, что позволяет им редактироваться в инспекторе. Вот основной пример того, как можно использовать встроенные массивы:
// 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 и встроенными массивами вы можете легко обрабатывать 2 миллиона вершин за одну секунду, используя mesh interface).
Обычные массивы 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.
Note that Array's functions are upper case following Unity's naming convention.
As a convenience for javascript users, Unity also accepts lower case functions for the array class.
Note: Unity doesn't support serialization of a List of Lists, nor an Array of Arrays.
length | Свойство длины массива, которое возвращает или задает число элементов в массиве. |
Array | Создает массив с фиксированной длиной. |
Add | Добавить значение value в конец массива. |
Clear | Опустошить массив. Длина массива будет равна нулю. |
Concat | Объединить два и более массива |
Join | Объединяет содержимое массива в одну строку. |
Pop | Удаляет последний элемент массива и возвращает его. |
Push | Добавить значение value в конец массива. |
RemoveAt | Удаляет элемент из index из массива. |
Shift | Удаляет первый элемент массива и возвращает его. |
Sort | Сортирует все элементы массива. |
Unshift | Unshift добавляет один или несколько элементов в начало массива и возвращает новую длину массива. |