Cuando creamos variables decimos que las estamos declarando y existen varios tipos de variables según el contenido que queremos guardar. Para declarar una variable en C# primero debemos decir si es pública o privada;
Las variables publicas nos permiten comunicar entre los scripts del mismo GameObject y otros GameObjects y se verán publicadas en la ventana Inspector de Unity.
Las variables privadas también nos permiten comunicar entre los scripts del mismo u otros GameObjects pero no se verán publicadas en la ventana Inspector de Unity.
Public/private+ tipo de variable + nombre de la variable;
Para el ejemplo en Unity crea un nuevo GameObject (un cubo) luego crear un nuevo script y llámalo Variables.cs y añadelo al nuevo GameObject:
Script: Variables.cs |
using System.Collections;using System.Collections.Generic;using UnityEngine;public class Variables : MonoBehaviour{public int edad = 56;public string nombre = “Oscar”;public float peso = 1,85f;void Start (){Debug.Log(“Mi nombre es: “+this.nombre+” tengo “+this.edad+” y mido “+this.peso);}} |
Las variables declaradas son:•int para valores enteros.•string para valores de cadena de textos siempre entre comillas.•float para valores decimales y el numero debe finalizar con la letra f.Para mostrar en consola las variables se utiliza un Debug.Log y dentro del paréntesis se concadena con signos de suma con el nombre de las variables. El término this se utiliza para hacer referencia a la variables del objetos que tiene el script. |
Unity nos permite ver las variables que hemos declarado en la ventana inspector porque las hemos declarado públicas, como te muestro en la imagen siguiente:
Fig. 5.6
En la imagen anterior, seleccionando el objeto al que le hemos añadido el script nos muestra las variables que hemos declarado públicas en la ventana inspector. Si ejecutamos el juego haciendo clic a play en la consola debería aparecer el mensaje que hemos escrito dentro de la función Start.
Fig. 5.7
3. Trabajar con operadores aritméticos
Los operadores aritméticos nos permiten realizar operaciones con nuestras variables es decir si tenemos una variable energía = 100 y un enemigo te dispara con un arma de daño= 50 tu energía se le restará 50.
A continuación te muestro todos los operadores que necesitas para hacer tus operaciones. Primero cómo asignamos una operación a nuestras variables:
Suma |
x = x + y; |
Módulo |
x = x % y; |
Resta |
x = x - y; |
Añadir 1 |
++x |
Multiplicación |
x = x * y; |
Quitar 1 |
--1 |
División |
x = x / y; |
|
|
Vamos a crear un ejemplo para ver como podemos utilizar estos operadores para ello crearemos un nuevo script en C# llamado Aritmeticos.cs (El nombre procura que sea sin acentos y sin la ñ).
Debemos calcular la velocidad que tiene nuestro objeto sabiendo la distancia recorrida y el tiempo que hemos utilizado.
Script: Aritmeticos.cs |
using System.Collections;using System.Collections.Generic;using UnityEngine;public class Aritmeticos : MonoBehaviour{private float velocidad;public float tiempo = 5,1f;public float distancia = 8.1f;void Update (){this.velocidad= this.distancia/this.tiempo;Debug.Log(“Mi velocidad es de: “+this.velocidad);}} |
Las variables declaradas son todas float y públicas excepto la de velocidad porque quiero que solo se muestre en consola. Le hemos dado valores a la variable tiempo y a la variable distancia.He creado la operación dentro de la función Update para que cuando ejecutemos el juego y cambiemos los valores de tiempo y de distancia, Unity calcule de nuevo los nuevos valores.Para mostrar en consola el resultado de velocidad utilizamos un Debug.Log. |
En Unity podemos borrar el componente script anterior y añadir este nuevo al cubo. El resultado debería verse de la siguiente manera.
Fig. 5.8
4. Operadores lógicos y de comparación
Los operadores lógicos sirven para obtener dos resultados verdadero o falso estos resultados se les conoce también como valores Booleanos. A continuación te muestro las operaciones:
&& |
And (y) |
La operación seria verdadero y falso = falso |
|| |
Or (o) |
La operación seria verdadero o falso = verdadero |
! |
Not (no) |
La operación seria verdadero no = falso |
No tienes que memorizarlo simplemente debes saber que son y para que sirven. A continuación te muestro los operadores de comparación que nos permiten comparar valores en general.
== |
igualdad |
5==5 |
!= |
desigualdad |
4!=0 |
> |
Mayor que |
10>2 |
< |
Menor que |
2<10 |
>= |
Mayor o igual que |
X >= 10 // La x puede ser 10 o mayor que 10 |
<= |
Menor o igual que |
X <= 10 // La x puede ser 10 o menor que 10 |
Este apartado es una especie de esquema en donde te muestro los operadores lógicos y de comparación en el siguiente apartado vamos a ponerlos en practica.
5. Crear declaraciones lógicas con if - else
En la vida diaria tomamos decisiones a cada momento un café (solo o con leche, con azúcar o sacarina etc). Según nuestra toma de decisiones suceden acontecimientos, es decir, imagínate tu personaje en una gruta con dos posibles salidas; la salida de la izquierda o la salida de la derecha.
Resulta que si escoges la de la derecha encuentras el tesoro y si escoges la salida izquierda se te come un dragón. De eso se encarga la declaración if, de comparar situaciones o valores y darnos un resultado según nuestra decisión.
Para declarar un if debemos escribirlo de la siguiente forma:
if (x>0){Lo que sucede si se cumple la comparación del if ;}else{Si no se cumple el if pasara esto ;} |
Vamos a crear un script llamado Comparaciones.cs. En este ejemplo vamos a comparar las mejores puntuaciones de un juego. Tenemos 1 jugadores con 1 puntuación que podremos variar. Si el resultado de estas puntuaciones es >=100 el resultado es Experto si el resultado es >= 50 y <100 el resultado es intermedio y si no se cumple lo anterior es principiante.
Script: Comparaciones.cs |
using System.Collections;using System.Collections.Generic;using UnityEngine;public class Comparaciones : MonoBehaviour{private int puntuacion = 35;// Puedes poner el valor que quierasvoid Update (){if (puntuacion >= 100){Debug.Log (“Experto”);} else if (puntuacion < 100 && puntuacion >= 50){Debug.Log (“Intermedio”);}else{Debug.Log (“Principiante”);}}} |
El siguiente script cuando lo ejecutes en Unity podrás variar la puntuación y en la consola te irán apareciendo los distintos resultados posibles.
Fig. 5.9
Читать дальше