Array数组

Arrays allow you to store multiple objects in a single variable.

The Array class is only only available in Javascript. For more information about ArrayLists, Dictionaries or Hashtables in C# or Javascript see here.

数组允许你在一个变量中储存多个对象。

这个 数组类仅仅用于Javascript。更多用于C#或Javascript关于ArrayLists,字典或哈希表,看这里

这里是一个你能用数组类做什么的基本的例子。

Array不能用于C#.
function Start () {

	var arr = new Array ();



	// 添加一个元素

	arr.Push ("Hello");



	// 打印第一个元素"Hello"

	print(arr[0]);



	// 调整数组大小

	arr.length = 2;

	// 把 "World" 赋给第二个元素

	arr[1] = "World";



	// 遍历这个数组

	for (var value : String in arr) {

		print(value);

	}

}

There are two types of arrays in Unity, builtin arrays and normal Javascript Arrays.

Unity 有两种类型的数组,内置数组和标准的Javascript数组。

Builtin arrays (native .NET arrays), are extremely fast and efficient but they can not be resized.
内置的数组 (原始的.NET 数组), 是非常快速和有效的, 但是他们不能被调整大小。

They are statically typed which allows them to be edited in the inspector. Here is a basic example of how you can use builtin arrays.

它们是静态类型的, 这允许他们在检视面板中被编辑。

这里是一个如何使用内置数组的基本例子

Array不能用于C#.
// 在检视面板中暴露一个浮点数组,你可以在那里编辑它

var values : float[];



function Start () {

	// 遍历数组

	for (var value in values) {

		print(value);

	}

	// 由于我们不能调整内置数组的大小, 我们必须重新创建一个数组来调整其大小

	values = new float[10];

	// 给第二个元素赋值

	values[1] = 5.0;

}

Builtin arrays are useful in performance critical code (With Unity's javascript and builtin arrays you could easily process 2 million vertices using the mesh interface in one second.)

Normal Javascript Arrays on the other hand can be resized, sorted and can do all other operations you would expect from an array class. Javascript Arrays do not show up in the inspector. You can easily convert between Javascript Arrays and builtin arrays.

内置数组在性能相关代码中是非常有用的 (使用Unity javascript 数组和内置数组可以很容易使用 mesh interface 在一秒内处理200万个顶点)。

另一方面,标准Javascript数组可以调整大小、排序,并可以做所有你期望的数组类的操作,Javascript数组不显示在检视面板。你能很容易的在Javascript数组和内置数组之间转换。

Array不能用于C#.
function Start () {

	var array = new Array (Vector3(0, 0, 1));

	array.Push(Vector3(0, 0, 2));

	array.Push(Vector3(0, 0, 3));

	// 复制JS数组到内置数组

	var builtinArray : Vector3[] = array.ToBuiltin(Vector3);

	// 将内置数组赋给JS数组

	var newarr = new Array (builtinArray);

	// newarr包含相同的元素作为数组

	print (newarr);

}

Note that in the following all 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.

注意按照Unity的命名规则下面所有函数首字母均为大写,为方便Javascript用户,Unity也接受数组类小写函数。

注意:Unity不支持一个列表的列表序列化,不是一个数组的数组。

Variables变量

Constructors构造函数

Functions函数

Page last updated: 2011-7-20