Los ciclos son esenciales en cualquier lenguaje de programación, nos sirven para hacer tareas repetitivas
y ahorrarnos trabajo, vamos a conocerlos...
Ciclo For:
El ciclo For es posiblemente el más popular, funciona indicando el numero donde inicia la cuenta, la condición para continuar y el incremento.
int i;
for (i=1; i<=10; i++)
{
*tarea a repetir
}
"Cuenta desde 1 hasta 10 incrementando de 1 en 1"
Probemos un ejemplo del ciclo imprimiendo en consola...
Creamos un script para probar los ciclos: LoopTest.Cs
Lo agregamos a nuestro GameBrain y desactivamos las casillas de activación de los otros scripts.
Al ejecutar el código la variable i inicia en 1 y se va incrementando de uno en uno hasta el 100…
Los ciclos también pueden anidarse (uno dentro de otro), lo que permite trabajar con matrices o tablas...
Vea éste ejemplo, el ciclo externo llega hasta 100 y el interno hasta 10, eso permite crear una especie de tabla de multiplicar,
con cada ciclo externo (variable i), se debe cumplir un ciclo completo del 1 al 10 de la variable j.
Los ciclos anidados de éste tipo pueden ayudarnos a manejar matrices 2 x 2, o inclusive formar cubos tridimensionales 3 x 3.
Ciclo While.
El ciclo while es otra forma de realizar tareas repetitivas, su forma de operar es diferente...
Observe que primero se encuentra la condición para entrar :while (i <=100), si se cumple la i se incrementa dentro del ciclo.
Al ejecutar nos imprime hasta el 100...
En esta variación tenemos la variable active=true forzando a una condición siempre activa, se le llama ciclo infinito.
Un código así hace que Unity se “cicle” en todo el sentido de la palabra… ¡No lo ejecute!
Cuando nuestras Pc se “Ciclan” es debido precisamente a condiciones infinitas.
(no escriba el código).
Ciclo do while.
El ciclo do while tiene la variante de primero ejecutar y después evaluar si continua.
Al probar nos imprime del 1 al 100...
Unity reemplaza los ciclos convencionales por otras funciones, algunos ejemplos son:
En Unity la función Update hace la labor de refrescar pantalla para mover objetos, en lenguajes como Turbo C sería necesario una rutina para pintar pixel por pixel, una tarea bastante laboriosa.
Los comandos GameObject.Find ayudan a explorar todos los GameObjects del juego, en otros lenguajes se tiene que programar un ciclo para buscar en todas las instancias.
El motor de físicas puede mover objetos aplicando la ley de la gravedad, no se ocupa un cliclo que mueva coordenadas.