Videogames Development – Unity – Array
An Array stores multiple values in a single variable.
The first array’s value is 0.
There are two types of arrays in Unity:
1- builtin arrays and normal Javascript Arrays
2- builtin arrays (native .NET arrays), are extremely fast and efficient but they can not be resized
Javascript Arrays
Assign this code to an Empty Object in the Scene:
#pragma strict function Start() { } function Update() { // Array Start var mycars = new Array(); mycars[0] = "Saab"; // Notice: the first value is 0 mycars[1] = "Volvo"; mycars[2] = "BMW"; // Array End var i= 1; // Array index Debug.Log(mycars[i]); // The result is Volvo }
Javascript Arrays: Print an Array Content
#pragma strict function Start () { var strings = ["First string", "Second string", "Third string"]; for(var item : String in strings) { print (item); } }
Javascript Arrays: basic use
var myArray = new Array(); // declaration myArray.Add(anItem); // add an item to the end of the array var thisItem = myArray[i]; // retrieve an item from position i (richiamare un contenuto dalla posizione i) myArray.RemoveAt(i); // removes an item from position i var howBig = myArray.length; // get the length of the Array
.NET Arrays
Syntax 1 – multiple lines
#pragma strict // type [] name = new Array type[number of items] int[] myIntArray = new Array int[3]; function Start () { // name of array[index] = value myIntArray[0] = 12; myIntArray[1] = 16; myIntArray[2] = 18; }
Syntax 2 – one line
#pragma strict // type [] name = new Array type[number of items] int[] myIntArray = {12, 16, 18}; function Start () { }
Public Array – you can see them in Inspector window
The code below creates an Array of Game Objects with Tag ‘Player’
#pragma strict public var players : GameObject[]; function Start () { players = GameObject.FindGameObjectsWithTag("Player"); for(var i : int = 0; i < players.Length; i++) { Debug.Log("Player Number "+i+" is named "+players[i].name); } }