Mostrar más resultados
28578

Loops y Arrays en Unity

Loops y Arrays en Unity

Escrito por Jordi Mula

Dentro del desarrollo de videojuegos (y en general dentro de cualquier desarrollo) un aspecto muy importante es el de uso de Arrays, y de los loops (bucles) tan vinculados estos últimos a los primeros.

Veamos cuales son las características de estos dos elementos.

Arrays en Unity

Para entender el concepto de Array podríamos pensar en una caja que a su vez dentro de ella contiene otras cajas más pequeñas. Podríamos decir que es una especie caja para agrupar elementos de un mismo tipo. Como si tuviésemos en casa una estantería sólo con libros, otra solo con dvds, etc. Así pues cuando nosotros escribimos el código:

public int[5] arrayInts

Lo que estamos definiendo es un array (una caja grande) de números enteros (las cajas pequeñas que contendrá el array podrán ser sólo números enteros) y que además el número de elementos que podrán estar dentro de este array serán 5 elementos. Así que tendremos un array de 5 enteros. Además podremos acceder a estos enteros mediante un índice (empezando siempre el primer índice por el número 0), así tendremos:

arrayInts[0]

Que apuntará al primer elemento (primera caja pequeña) dentro del array (caja grande). Es importante recordar que los índices de los arrays empiezan por 0, ya que si no lo tenemos en cuenta y queremos acceder al 5 elemento del ejemplo anterior deberíamos usar el índice 5, si no accedemos de esa manera, recibiríamos el error de índice fuera de rango (index out of range).

¿Cuál es la ventaja de usar arrays y no crear diferentes variables individuales para cada uno de los elementos que vamos a almacenar dentro de ellos?

Una de las ventajas que podríamos nombrar es que en el ejemplo anterior sólo tenemos 5 elementos dentro del array pero imaginemos una situación en la que el número de elementos fuese mucho superior, por ejemplo cien elementos, deberíamos trabajar con un número ingente de variables lo que haría el código muy engorroso y poco viable. Además, gran parte de la potencia del uso de arrays viene cuando combinamos el uso de estos con el uso de los loops (o bucles).

Loops en Unity

Los loops son una estructura que nos permite iterar sobre un elemento, en este caso nuestro elemento de iteración será el propio array, veamos un ejemplo de uno de los primeros tipos de loop a estudiar, el loop for:

for( int i = 0; i < arrayInts.Length; i++){

}

Podemos ver que dentro de los paréntesis de la función for se encuentran las condiciones que se tienen que cumplir para que se ejecute el propio bucle, las diferentes condiciones se separa haciendo uso de un punto y coma. Así pues tenemos que la primera parte de las condiciones es:

int i = 0;

Esto quiere decir que vamos a realizar la iteración usando un nuevo número entero al que llamaremos “i” y que empezará valiendo 0, así pues cuando accedamos al elemento del array:

arrayInts[i]

En la primera ejecución del bucle estaremos accediendo al elemento que tenga el índice 0. La segunda condición del bucle:

i < arrayInts.Length;

Nos indica que el bucle se ejecutará siempre y cuando el valor de la variable “i” sea menor que el tamaño del arrary (en nuestro ejemplo el tamaño del array es 5, así que el bucle se ejecutará siempre que la variable i sea menor que 5). Por último tenemos:

i++;

Esta última condición nos indica que cuando haya acabado una ejecución del bucle nuestra variable “i” se verá incrementada en uno (i++ es lo mismo que indicar i = i + 1). Así pues si empezaba la iteración con un valor de “i”, una vez que se haya ejecutado todo el contenido del bucle el valor de “i” incrementará y se comparará a la condición de si es menor que la longitud del array, si es así se volverá a ejecutar el bucle con el nuevo valor de la variable “i”. En el siguiente caso:

for( int i = 0; i < arrayInts.Length; i++){

    Debug.Log(arrayInts[i]);

}

Lo que estaríamos haciendo sería recorrer el array e ir imprimiendo en la consola los diferentes valores de números enteros almacenados en cada índice del array.

El uso de arrays y de loops nos permite poder manejar mucha información e iterar sobre ella de forma rápida y cómoda. Con pocas líneas de código podemos interaccionar con grandes volúmenes de variables lo que hace que el proceso de programación y el de ejecución se vean muy beneficiados.

Dentro de las estructuras de bucles podemos encontrar otras como pueden ser la función foreach y la función while, teniendo cada una de ellas sus particularidades, el concepto es el mismo, permitiéndonos recorrer de forma fácil un array de elementos para cada uno de los elementos constituyentes o mientras se cumpla una determinada condición respectivamente dependiendo de qué función de loop seleccionemos.

¿Ves la versatilidad en el uso de los arrays y los loops? Déjanos tu comentario

Curso relacionado: Curso Superior de Diseño y Desarrollo de Videojuegos con Unity 3D