6. Crear declaraciones con switch
El switch nos permite tomar de una sola variable su valor y realizar múltiples operaciones dependiendo del valor de la variable.
Para declarar un switch debemos hacerlo de la siguiente manera:
Switch (variable){case “valor1”:Debug.Log(“Sucede algo”);break;case “valor2”:Debug.Log(“Sucede algo”);break;default:break;} |
Vamos a realizar un ejercicio muy básico para mostrar las posibilidades de switch. Imagínate que tenemos dos valores para una variable el valor 1 y el valor 2 y queremos que cuando tengamos el valor 1 nuestro personaje tenga una pistola y cuando la variable tenga el valor 2 tenga una escopeta. Para realizar el ejercicio crea un script con el nombre Switch.cs y lo añadimos al cubo, asegúrate de borrar el otro script de la ventana inspector para que solo tenga este script.
Script: Switch.cs |
using System.Collections;using System.Collections.Generic;using UnityEngine;public class Switch : MonoBehaviour{public int arma;void Start (){switch (arma){case 1:Debug.Log(“Pistola”);break; |
case 2:Debug.Log(“Escopeta”);break;default:Debug.Log(“Nada”);break;}}} |
En la ventana inspector puedes poner el valor uno y te en la consola te mostrará una pistola y si pones el valor 2 te mostrará escopeta, si pones un valor distinto te mostrará el mensaje por defecto que es nada.
Fig. 5.10
7. Trabajar con loops
Un loop es un bucle una repetición de una condición o serie de condiciones un cierto número de veces o hasta que se cumpla una alguna de estas condiciones. Tenemos que tener cuidado con los loops porque si nos equivocamos podemos crear un loop infinito y bloquear Unity.
While
El primero de los loops que vamos a ver es While que nos permite crear un bucle hasta que se cumple la condición.
Variable = 0;while (variable <= 10){Debug.Log(variable);variable++;} |
Primero declaramos una variable con un valor en este caso 0.Le decimos a while que la condición es que mientras el valor de la variable sea menor o igual a 10 nos muestre por consola el valor de variable pero para que no sea un bucle infinito el valor de la variable tiene que incrementarse 1 cada vez por eso se le añade variable++ |
#Ejemplo1 para Unity
Crea un script con el nombre While.cs. Vamos a crear un script que nos muestre las tablas de multiplicar.
Script: While.cs |
using System.Collections;using System.Collections.Generic;using UnityEngine;public class While : MonoBehaviour{private int valor = 0;public int tabla;private int resultado;void Start (){while (valor <= 10){resultado = valor * tabla;Debug.Log (valor+” x “+tabla+” = “+resultado);++valor;}}} |
Ahora si vamos a Unity debemos poner el valor de la tabla que queremos que nos muestre por consola por ejemplo la tabla del 4 y al ejecutar el juego en la consola se nos mostrará la tabla del cuatro.
Fig. 5.11
For
El loop for nos permite definir su valor, su limite y su incremento. Es otro loop que podemos utilizar, para escribirlo debemos hacerlo de esta manera:
for(x=0; x<= 10; x++){Debug.Log (x);} |
El for contiene una variable x que es igual a 0 en un principio, después tiene la condición de que x tiene que ser menor o igual a 0 y para finalizar este valor se ira incrementando. Cada vez que se cumpla se mostrara en consola el valor de x.Esto quiere decir que se repetirá 10 veces y que por consola se nos va a mostrar los valores 0,1,2,3,4,5,6,7,8,9,10. El valor 10 es el ultimo ya que el valor 11 sería mayor que 10 y no se cumpliría la condición de x<=10. |
Ahora que sabemos como utilizar el loop for vamos a realizar el mismo ejemplo que con el loop While de manera que crearemos un script que nos muestre las tablas de multiplicar según el valor de la tabla que queramos.
Script: For.cs |
using System.Collections;using System.Collections.Generic;using UnityEngine;public class For : MonoBehaviour{public int tabla;private int resultado;private int valor;void Start (){for(valor=0; valor<= 10; valor++){resultado = valor * tabla;Debug.Log (valor+” x “+tabla+” = “+resultado);}}} |
El resultado debería ser exactamente igual al del ejemplo While descrito anteriormente.
8. Crear y llamar funciones
Ahora que sabemos qué son las variables, cómo podemos operar con ellas tomar decisiones y crear repeticiones según nuestras decisiones, vamos a comprimirlo todo en una función que nos permite contener múltiples acciones dentro, y para ejecutarla solamente necesitamos el nombre de la función.
Para crear una función debemos hacerlo de la siguiente manera:
void nombredelaFuncion(){//Aqui ponemos la acción que queremos que ejecute.} |
Voy a seguir con el ejemplo de las tablas de multiplicar para que se entienda cómo podemos crear una función que me muestre la tabla de multiplicar que nosotros deseemos. Crea un nuevo script y llámalo Funciones.cs y añádelo al objeto que tengas en escena.
Script: Funciones.cs |
using System.Collections;using System.Collections.Generic;using UnityEngine;public class Funciones : MonoBehaviour{public int tabla;private int resultado;private int valor;void CreadorTablas (){for(valor=0; valor<= 10; valor++){resultado = valor * tabla;Debug.Log (valor+” x “+tabla+” = “+resultado);}}void Start(){this.CreadorTablas();}} |
Después de declarar las variables hemos creado una función con el nombre de CreadorTablas, puedes ponerle el nombre que quieras. Después en su interior hemos creado el loop for que anteriormente habíamos visto para crear una tabla de multiplicar según el valor.Para llamar a la función debemos poner el nombre de la función como te muestro en el script dentro de la otra función Start. |
Si no sabes modelar en 3d no te preocupes porque este libro viene acompañado de material adicional para que puedas realizar los proyectos. En el caso de que quieras realizar algún proyecto distinto puedes descargar del Asset Store de Unity recursos en donde encontraras material gratuito y de pago.
9. Entender qué son los Arrays
Los Arrays son matrices que nos permiten almacenar múltiples objetos en una misma variable. Esta clase solo se encuentra en Javascript pero podemos utilizar en C# con las Buitlin arrays (que son nativas de .Net). Este tipo de Arrays son muy rápidas pero no pueden re-dimensionarse.
A continuación te muestro un ejemplo muy básico de cómo podemos utilizar estas Builtin arrays:
Script: Arrays.cs |
using System.Collections;using System.Collections.Generic;using UnityEngine;public class Arrays : MonoBehaviour{public string[] lista;void Start(){this.lista= new string[4]{“Juan”,”Maria”,”Antonio”,”Lurdes”};foreach (string nombres in lista){Debug.Log(nombres);}}} |
Primero declaramos una variable de tipo Builtin Array al que le damos el nombre de lista. Si te fijas verás que para decirle que el tipo primero ponemos el tipo de variable que será (int, string, float..) seguido de corchetes y luego le damos el nombre que deseamos.Dentro de la función Start le damos valores a la variable lista; para ello en C# siempre debemos añadir valores de la siguiente manera new string y entre corchetes puedes poner el numero de elementos o valores que va a tener el Builtin Array, seguido abrimos llaves y entre comillas ya que es de tipo string ponemos los nombres separados por comas.Para mostrar la lista he utilizado un foreach asignadole una variable de tipo string llamada nombre para mostrar cada elemento del Builtin Array de este modo cuando ejecutes el juego en la consola te mostrara todos los nombres de la lista. |
A continuación te muestro como deberías verlo en la ventana Inspector y en la consola.
Читать дальше