Выберите подходящий для вас язык программирования. Все примеры кода будут представлены на выбранном языке.
Благодарим вас за то, что вы помогаете нам улучшить качество документации по Unity. Однако, мы не можем принять любой перевод. Мы проверяем каждый предложенный вами вариант перевода и принимаем его только если он соответствует оригиналу.
ЗакрытьПо определённым причинам предложенный вами перевод не может быть принят. Пожалуйста <a>попробуйте снова</a> через пару минут. И выражаем вам свою благодарность за то, что вы уделяете время, чтобы улучшить документацию по Unity.
ЗакрытьМассивы позволяют хранить несколько объектов в одной переменной.
Тип 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 добавляет один или несколько элементов в начало массива и возвращает новую длину массива. |